JavaScript中Promise的reject
原文:Reject a Promise in JavaScript
在Promise中出现了错误,可以用reject将其标记为rejected状态。
Promise.reject()
函数以最简明的方式,将发生已知错误的Promise标记为rejected。在这之后还应该用.catch()
处理错误。
1 | const p = Promise.reject(new Error('Oops!')); |
Promise构造器
当你使用new
创建一个Promise时,其实是调用了Promise的构造器。Promise的构造器只接收一个参数——executor
函数,Promise随后会执行executor
函数,并传入2个参数:resolve()
和reject()
。
1 | function executor(resolve, reject) { |
在executor函数中,要将Promise标记为rejected,可以调用reject()
,并传入Error对象。
1 | const p = new Promise((resolve, reject) => { |
reject非Error值
reject并非只支持Error对象,也可以reject其他任意值。
1 | const p = Promise.reject(42); |
但是,许多库和框架假定Promise总是reject一个错误对象,所以在调用Promise.reject()
传入其他值的时候,要特别小心。
async/await是JavaScript中并发的未来趋势。“Mastering Async/Await”教你如何在几个小时内,用async/await构建前后端APP,来看看吧!