[`Promise.reject(error)`](http://liubin.github.io/promises-book/#Promise.reject)是和?[`Promise.resolve(value)`](http://liubin.github.io/promises-book/#Promise.resolve)?類似的靜態方法,是?`new Promise()`?方法的快捷方式。
比如?`Promise.reject(new Error("出錯了"))`?就是下面代碼的語法糖形式。
~~~
new Promise(function(resolve,reject){
reject(new Error("出錯了"));
});
~~~
這段代碼的功能是調用該promise對象通過then指定的?`onRejected`?函數,并將錯誤(Error)對象傳遞給這個?`onRejected`?函數。
~~~
Promise.reject(new Error("BOOM!")).catch(function(error){
console.error(error);
});
~~~
它和[`Promise.resolve(value)`](http://liubin.github.io/promises-book/#Promise.resolve)?的不同之處在于promise內調用的函數是reject而不是resolve,這在編寫測試代碼或者進行debug時,說不定會用得上。
- 前言
- 第一章 - 什么是Promise
- 1.1. 什么是Promise
- 1.2. Promise簡介
- 1.3. 編寫Promise代碼
- 第二章 - 實戰Promise
- 2.1. Promise.resolve
- 2.2. Promise.reject
- 2.3. 專欄: Promise只能進行異步操作?
- 2.4. Promise#then
- 2.5. Promise#catch
- 2.6. 專欄: 每次調用then都會返回一個新創建的promise對象
- 2.7. Promise和數組
- 2.8. Promise.all
- 2.9. Promise.race
- 2.10. then or catch?
- 第三章 - Promise測試
- 3.1. 基本測試
- 3.2. Mocha對Promise的支持
- 3.3. 編寫可控測試(controllable tests)
- 第四章 - Advanced
- 4.1. Promise的實現類庫(Library)
- 4.2. Promise.resolve和Thenable
- 4.3. 使用reject而不是throw
- 4.4. Deferred和Promise
- 4.5. 使用Promise.race和delay取消XHR請求
- 4.6. 什么是 Promise.prototype.done ?
- 4.7. Promise和方法鏈(method chain)
- 4.8. 使用Promise進行順序(sequence)處理
- 第五章 - Promises API Reference
- 5.1. Promise#then
- 5.2. Promise#catch
- 5.3. Promise.resolve
- 5.4. Promise.reject
- 5.5. Promise.all
- 5.6. Promise.race
- 第六章 - 用語集
- 第七章 - 參考網站
- 第八章 - 關于作者
- 第九章 - 關于譯者