【发布时间】:2016-06-28 13:34:23
【问题描述】:
我按照http://www.html5rocks.com/en/tutorials/frameworks/angular-websockets/ 之类的教程在我的 node.js 服务器和 angular.js 客户端中实现了 socket.io,一切正常。
但是,客户端,Typescript 显示以下编译错误:
TS2496: The 'arguments' object cannot be referenced in an arrow function in ES3 and ES5. Consider using a standard function expression.
关于以下服务代码:
on(eventName:string, callback) {
this.socket.on(eventName, () => {
var args = arguments; // <-- here the compilation error
this.$rootScope.$apply(() => {
callback.apply(this.socket, args);
});
});
}
emit(eventName:string, data, callback?) {
this.socket.emit(eventName, data, () => {
var args = arguments; // <-- here the compilation error
this.$rootScope.$apply(() => {
if (callback) {
callback.apply(this.socket, args);
}
});
});
}
我尝试了不同的解决方案,例如 https://github.com/Microsoft/TypeScript/issues/1609 第一篇文章中描述的解决方案,它修复了编译但破坏了 socket.io “on”功能(不再解释 json 对象)。
知道如何修复或忽略此打字稿编译错误吗?
【问题讨论】:
标签: angularjs typescript socket.io