简介
create-thenable 是一个用于生成 Promise 的 npm 包。使用该 npm 包可以更加便捷地实现 Promise。create-thenable 提供了一个类,可以通过实例化该类来获得 Promise,同时还提供了一些方法,方便对 Promise 进行操作。
安装
使用 npm 安装 create-thenable:
npm install create-thenable --save
使用
首先需要引入 create-thenable:
const { Thenable } = require('create-thenable')
创建 Promise 实例:
const promise = new Thenable((resolve, reject) => { // 执行异步操作 setTimeout(() => { // 异步操作完成后,调用 resolve 或 reject 方法 resolve('promise resolved') }, 1000) })
通过 then 方法获取 promise 结果:
promise.then(res => { console.log(res) // 输出:"promise resolved" })
可以通过 catch 方法获取 Promise 的错误信息:
promise.catch(error => { console.log(error) // 输出 Promise 中 reject 方法的参数 })
除了基本的 Promise 功能外,create-thenable 提供了一些可选的方法,例如:
tap
可以在 then 方法执行之后再次执行一个函数,该方法不会修改 Promise 的状态或返回值。
promise.then(res => { // do something }).tap(() => { // do something after "then" succeeds }).catch(error => { console.log(error) })
finally
无论 Promise 成功或失败,finally 方法都会执行对应的回调函数。
promise.then(res => { // do something }).catch(error => { console.log(error) }).finally(() => { // do something after "then" or "catch" })
timeout
设置 Promise 超时时间。
promise.timeout(500) // 如果 Promise 在 500ms 内未完成,则会 reject
示例代码
-- -------------------- ---- ------- ----- - -------- - - -------------------------- ----- ------- - --- ------------------ ------- -- - ------------- -- - ---------------- ---------- -- ----- -- -------------- -- - ----------------- ---------- -------------- -- - ------------------ ------------- -- - ---------------------- -- ---------------- -- - ---------------- --
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64490