gpt4 book ai didi

javascript - AngularJS $q 与 socket.io 的 promise

转载 作者:行者123 更新时间:2023-11-28 15:09:25 24 4
gpt4 key购买 nike

我想创建一个与 socket.io 一起使用的 angularJS Promise。我当前设置了一个回调来处理响应:

function request(event, data, callback) {
socket.emit(event, data);
socket.on(event, function(d) {
socket.off(event);
callback(d);
});
}

这迫使我写一些类似的东西:

request('myEvent', 'Hello World !', function(data) {
...
});

我想知道我们是否可以使用 promise (使用 Angular 的 $q 服务):

request('myEvent', 'Hello World !').then(function(data) {

});

谢谢!

最佳答案

你可以尝试类似的事情

function request(event, data) {
var deferred = $q.defer();
socket.emit(event, data);
socket.on(event, function(d) {
socket.off(event);
deferred.resolve(d);
});
return deferred.promise;
}

然后就可以使用

request('myEvent', 'Hello World !').then(function(data) {

});

关于javascript - AngularJS $q 与 socket.io 的 promise ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37255007/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com