[`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
- 第六章 - 用語集
- 第七章 - 参考网站
- 第八章 - 关于作者
- 第九章 - 关于译者