socket.my.js里面,return this._instance不要放在if的括号里。
if (!this._instance) {
this._instance = io('http://127.0.0.1:3000');
}
return this._instance;
这段代码的意思是如果没有已经创建的连接,则创建一个。然后总是会返回this.instance。你那样写就变成如果没有已经创建的连接,则创建并返回;如果已经有连接,就什么都不做(也不返回this.instance),你场景里第二次引用的Socket.instance就变成未定义undefined。