我在嘗試輪詢端點並使用Q來解析請求。不過,我知道你不能用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
})
使用進度回調,這將發生一遍又一遍。解決,拒絕將結束諾言。 – Vince