该特性处于 ECMAScript 6 规范草案中,目前的实现在未来可能会发生微调,请谨慎使用。
概述
Promise.reject(reason)
方法返回一个用reason拒绝的Promise。
语法
Promise.reject(reason);
Parameters
- reason
Promise
被拒绝的原因。
描述
静态函数Promise.reject返回一个被拒绝的Promise。使用是
Error
实例的reason对调试和选择性错误捕捉很有帮助
。
示例
使用静态Promise.reject
方法
Promise.reject("Testing static reject").then(function(reason) { // 未被调用 }, function(reason) { console.log(reason); // "测试静态拒绝" }); Promise.reject(new Error("fail")).then(function(error) { // 未被调用 }, function(error) { console.log(error); // 堆栈跟踪 });
规范
规范 | 状态 | 备注 |
---|---|---|
domenic/promises-unwrapping | 草稿 | 标准化工作在这里进行中 |
ECMAScript 6 (ECMA-262) Promise.reject |
Release Candidate | ECMA规范的首次定义 |
浏览器兼容性
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | 32 | 24.0 (24.0) as Future 25.0 (25.0) as Promise behind a flag[1]29.0 (29.0) by default |
未实现 | 19 | 7.1 |
Feature | Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile | Chrome for Android |
---|---|---|---|---|---|---|
Basic support | 未实现 | 24.0 (24.0) as Future 25.0 (25.0) as Promise behind a flag[1]29.0 (29.0) by default |
未实现 | 未实现 | iOS 8 | 32 |
[1] Gecko 24实验性地实施了Promise类,它
最初被命名为Future,
在Gecko 25被重新命名为现在的名字, 但在dom.promise.enabled设置中被默认禁用。
Bug 918806 Gecko 29开始默认启用Promise。