当前位置:   article > 正文

TS 实现 Promise 相关 api_ts resolve 类型

ts resolve 类型

相关文章

  1. Promises/A+ 规范(译文)
  2. 用 TS 实现 Promise(官方测试工具测试通过)
  3. 本文代码地址

api 实现

resolve 方法

resolve 方法会返回一个以给定值解析后的 Promise 对象。
resolve 方法的参数 value 可能有三种类型:

  1. value 是一个 Promise;
  2. value 是一个 thenable;
  3. value 既不是 Promise 也不是 thenable。
function resolve<T>(value: T | PromiseLike<T>): MyPromise<T> {
   
    // 如果 value 是一个 MyPromise 实例,那么直接返回 value。
    if (value instanceof MyPromise) return value;
    if (
        (typeof value === "object" || typeof value === "function") &&
        "then" in value &&
        typeof value.then === "function"
    ) {
   
        // 如果 value 是一个 thenable,将它转换成 MyProm
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号