首页 > 其他 > 详细

Promise.resolve()

时间:2021-03-15 19:23:12      阅读:55      评论:0      收藏:0      [点我收藏+]

Promise.resolve()

  resolve函数的作用是:将promise对象的状态从“未完成”变成“成功”(pending=>resolved),在异步操作成功时调用,并将异步操作的结果,作为参数传递出来;

  Promise.resolve()方法的参数分成四种情况。

  1、参数是一个Promise实例

    如果参数是promise实例,那么Promise.resolve将不做任何修改、原封不动地地返回这个实例

  2、参数是一个thenable对象

    thenable对象指的是具有then方法的对象

    Promise.resolve() 方法会将这个对象转为Promise对象,然后就立即执行thenable对象的then()方法

  3、参数不是具有then()方法的对象,或根本就不是对象

    如果参数是一个原始值,或者是一个不具有then()方法的对象,则Promise.resolve()方法返回一个新的 Promise 对象,状态为resolved

    const p = Promise.resolve(‘Hello‘);

      p.then(function (s) {

       console.log(s)

    });

    字符串Hello不属于异步操作(判断方法是字符串对象不具有 then 方法),返回 Promise 实例的状态从一生成就是resolved,所以回调函数会立即执行。Promise.resolve()方法的参数,会同时传给回调函数。

  4、不带有任何参数

    Promise.resolve()方法允许调用时不带参数,直接返回一个resolved状态的 Promise 对象。

    所以,如果希望得到一个 Promise 对象,比较方便的方法就是直接调用Promise.resolve()方法。

 

Promise.resolve()

原文:https://www.cnblogs.com/lijinxiao/p/14539051.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!