0
解決this issue之後,我現在有一個新的問題,在等待套接字連接的函數內部進行角度暫停。angularjs不使用角度套接字執行延期承諾
控制器:
.controller('myCtrl',function($scope, socket) {
var sendMsg = function(msg) {
socket.then(function(msg) {
socket.emit('newMsg', msg);
});
}
//simplified example
var msg = 'Hi Mom!';
sendMsg(msg);
});
的問題是,socket.emit()
永遠不會被解僱。如果我刪除socket.then()
,我將收到錯誤socket.emit is not a function
。我們必須等待套接字初始化(這是基於在另一個控制器中成功登錄並通過socket
工廠廣播)。這是雞雞蛋悖論嗎?如何在另一個函數中觸發socket.emit?其他類似功能的工作,如:
socket.then(function(socket) {
socket.on('connect',function() {
//do something. This works.
});
});
感謝這實際上是我必須註銷並重新初始化套接字時重新初始化我更改代碼時。然後該功能正常工作。 – lilbiscuit