2
對於jQuery的承諾,不帶參數的$.when()
返回已解決的承諾。什麼是返回被拒絕的jQuery承諾的等價物?直接返回拒絕的jQuery承諾
例如:
(function() { return $.when(); })()
.then(()=>console.log('resolved'))
.fail(()=>console.log('failed'));
打印 「解決」。我只想更改函數返回的內容,以便打印「失敗」。
這是爲了與jQuery承諾橋接同步的東西。我想要做的唯一事情就是將整個事物包裝在一個延遲對象中,例如在那裏我可能有:
function doSomething() {
let success = ...;
return success ? $.when() : /* not sure */;
}
我能做到這一點,而不是:
function doSomething() {
return $.Deferred(function (def) {
let success = ...;
if (success)
def.resolve();
else
def.reject();
}).promise();
}
但是,如果我沒有包裹之類的東西,這將是更方便,可以像$.when()
直接返回的東西代替。
任何特別原因需要使用jQuery的實現原生的承諾? –
return Promise.reject() –
@Bergi很好找;謝謝! –