var Socket = (function() {
var Socket = function(ioSocket) {
this._ioSocket = ioSocket;
};
Socket.prototype = {
release: function() {
var some = 0;
this._ioSocket.on('ack', function() {
some = some + 1;
console.log(some);
});
}
return Socket;
}());
_ioSocket.on
部分只表示任何异步回调。如果我这样做:
new Socket(ioSocket).release()
多次,是否保证控制台将始终打印1,因为on('ack')
回调可以按随机顺序触发?或者是否可能会打印其他内容,因为所有套接字都指向相同的some
变量?
答案 0 :(得分:0)
只要每次发布调用只导致一次调用.on
回调,那么.release()
将始终打印1,因为每次对release
的新调用都会创建一个新副本变量some
。