promise.reject(reason)
方法也會返回乙個新的 promise 例項,該例項的狀態為rejected
。
const p = promise.reject('出錯了');// 等同於
const p = new promise((resolve, reject) => reject('出錯了'))
p.then(null, function (s) );// 出錯了
上面**生成乙個 promise 物件的例項p
,狀態為rejected
,**函式會立即執行。
注意,promise.reject()
方法的引數,會原封不動地作為reject
的理由,變成後續方法的引數。這一點與promise.resolve
方法不一致。
const thenable =
};promise.reject(thenable)
.catch(e => )// true
上面**中,promise.reject
方法的引數是乙個thenable
物件,執行以後,後面catch
方法的引數不是reject
丟擲的「出錯了」這個字串,而是thenable
物件。 Promise對Ajax的封裝
jquery的ajax 在開發中,我們常常會用到ajax,根據請求的位址,伺服器返回相應的success或者error,而且ajax也是可以非同步的,async為true的時候為非同步,反之同步,下面以非同步為例,因為我們的promise就是非同步操作。ajax error function dat...
自己對Promise的簡單理解
promise在建立時,會先執行自己裡面的內容function initpromise else initpromise then success catch error promise.all 方法用於將多個promise例項,包裝成乙個新的promise例項,他是並行執行的。例子 例如乙個頁面的...
說說你對promise的了解
依照 promise a 的定義,promise 有四種狀態 pending 初始狀態,非 fulfilled 或 rejected.fulfilled 成功的操作.rejected 失敗的操作.settled promise已被fulfilled或rejected,且不是pending 另外,fu...