我尝试轮询端点并使用Q来解析请求。但是我知道你可以用Q来做到这一点,因为一旦承诺得到解决它已经完成了。
我可以使用Q和我的投票一起使用吗?
我的设置类似于:
class Poller {
poll() {
const deferred = Q.defer();
const promise = $.ajax({
//stuff
});
promise.done((resp) => {
// this resolves just once, how can I keep resolving
// on future xhr calls?
deferred.resolve(resp);
});
promise.always(() => {
setTimeout(() => {
this.poll.call(this);
}, 5000)
})
return deferred.promise;
}
}
const poller = new Poller();
poller.poll().then((resp) => {
// keep trigging updates from polling
})
答案 0 :(得分:3)
承诺的全部意义在于它只能被解决一次。您正在寻找的结构是事件。