我想定義一個承諾的函數,並返回相同的承諾,但返回的承諾解決任意超時;我的代碼如下所示:但我不確定自己是否像拒絕一樣捕捉到了一切。如何添加指定的延遲到承諾的分辨率
//Returns a promise identical to promise, except with an additional delay
// specified by timeout.
delayedPromise(promise, timeout) {
var newPromise = $.Deferred();
promise.then(function(result) {
window.setTimeout(function() {
newPromise.resolve(result);
}, 3000);
}
return newPromise;
}
有沒有更好的方法來做到這一點?我是否還需要添加類似的功能來處理錯誤?
這實現了相同的問題的任擇議定書的原代碼 - 它不保留'this'或解決延遲迴調時整套傳遞的參數。 – Alnitak