es6promise.on的用法
时间: 2023-10-14 16:19:51 浏览: 104
ES6关于Promise的用法详解
`es6promise.on` 方法是一个静态方法,用于注册全局的 Promise 处理程序。它接受两个参数:
1. `eventName`:表示要注册的事件名称,可以是以下字符串之一:
- `unhandledrejection`:当一个 Promise 被拒绝并且没有被捕获时触发。
- `rejectionhandled`:当一个 Promise 被拒绝并且被捕获时触发。
2. `handler`:表示要注册的事件处理程序,它是一个函数,接受一个参数:
- `event`:表示事件对象,包含以下属性:
- `promise`:被拒绝的 Promise 对象。
- `reason`:Promise 被拒绝的原因。
示例:
```javascript
Promise.on('unhandledrejection', (event) => {
console.error(`Unhandled rejection (promise: ${event.promise}, reason: ${event.reason}).`);
});
Promise.reject(new Error('Oops!'));
// Output: Unhandled rejection (promise: [object Promise], reason: Error: Oops!).
```
在上面的示例中,我们使用 `Promise.on` 方法注册了一个全局的 `unhandledrejection` 处理程序。当我们调用 `Promise.reject` 方法并传入一个错误对象时,由于没有捕获该 Promise 的拒绝原因,因此该处理程序将被触发,并输出错误信息。
阅读全文