总结自:https://blog.csdn.net/lq15310444798/article/details/81275278

Promise.resolve返回一个Promise实例

参数分4种情况:

1.参数为Promise实例

返回此实例

可能执行catch

------------------------------------------------------------

2.参数为thenable对象

备注:thenable对象为带有then方法的对象

将此对象转换为Promise实例,并立即执行其then方法

不会执行catch

let thenable= {
//注意then里居然有resolve,reject
then: function(resolve,reject){
resolve('lala')
}
}
Promise.resolve(thenable).then((value)=>{
console.log(value)//lala
})

------------------------------------------------------------

3.参数为基本类型或非thenable对象的对象

返回一个Promise对象,状态为resolved(执行成功,进入then)

直接执行then方法,且value为参数的值

不会执行catch(因为状态为resolved)

Promise.resolve(1).then((value)=>{
console.log(value)//1
})

------------------------------------------------------------

4.不带任何参数

直接返回一个状态为resolved的Promise对象

不会执行catch

------------------------------------------------------------

注意:立即resolve的Promise对象是在本轮“事件循环”结束时执行,而不是在下一轮“事件循环”开始时执行!

setTimeout(function(){
console.log("three");//下一轮事件循环执行
},0);
Promise.resolve().then(function(){
console.log("two");
});
console.log("one");

Promise.resolve解析的更多相关文章

  1. AngularJS进阶(三十六)AngularJS项目开发技巧之利用Service&Promise&Resolve解决图片预加载问题(后记)

    AngularJS项目开发技巧之利用Service&Promise&Resolve解决图片预加载问题(后记) 前言 在"AngularJS项目开发技巧之图片预加载" ...

  2. ES6中的Promise.resolve()的作用

    var foo = { then: (resolve, reject) => resolve('foo') }; var resolved = Promise.resolve(foo); 相当于 ...

  3. Promise.resolve的作用

    Promise.resolve方法有下面三种形式: Promise.resolve(value); Promise.resolve(promise); Promise.resolve(thenable ...

  4. [转载]es6 Promise.resolve()方法

    es6 Promise.resolve()方法 2018-01-27 22:29:06 ixygj197875 阅读数 16925更多 分类专栏: ES6标准入门 (阮一峰) ES6标准入门   Pr ...

  5. promise用法解析

    Promise的理解 Promise是对异步操作的一种解决方案,一般情况下,如果有异步操作,就需要使用Promise对这个异步操作进行封装 使用Promise后可以使代码看起来更加优雅并且易于维护 使 ...

  6. Promise.resolve()与Promise

    //Promise.resolve()和Promise.reject()常用来生成已经被决议为失败或者成功的promise案例 //Promise.reject()简单一些,不管传给它什么值,它决议为 ...

  7. Promise.resolve( data)与Promise.reject( data )

    Promise.resolve( data)与Promise.reject( data ) 常用来生成已经决议失败或成功的promise实例: 1.Promise.reject(data)不管传递的是 ...

  8. Promise.resolve(x)中x有几种情况

    ps:下面参数说的是Promise.resolve(x)中的x 一共四种情况: 1.如果参数是Promise实例本身,则抛出错误 2.如果参数是一个promise对象,则then函数的执行取决于这个参 ...

  9. Promise(resolve,reject)的基本使用

    什么是Promise? Promise是一个构造函数,其原型上有 then.catch方法,还有reslove,reject等静态方法.通过创建Promise实例,可以调用Promise.protot ...

随机推荐

  1. DecimalField的使用

    DecimalField类DecimalField(max_digits =无,decimal_places =无[,**选项])固定精度的十进制数,在Python中表示一个 十进制的实例.有两个必需 ...

  2. CF632E Thief in a Shop 和 CF958F3 Lightsabers (hard)

    Thief in a Shop n个物品每个价值ai,要求选k个,可以重复.问能取到哪几个价值? 1 ≤ n, k ≤ 1000,1 ≤ ai ≤ 1000 题解 将选一个物品能取到的价值的01生成函 ...

  3. keller PAA-3XX/80794系列(绝压)压力传感器

    一.瑞士 keller(科勒)压力传感器 keller英文版通讯协议百度网盘:提取码:fusc 广播模式:所有从机都会收到上位机信息 Broadcasting This mode of communi ...

  4. 珠峰培训node 珠峰爬虫| cron 定时任务

    1.cron 定时任务 CronJob var CronJob = require('cron').CronJob; // 秒 分钟 时 天

  5. MongoDB shell 3 集合方法

    方法名 描述 db.collection.aggregate() 聚合,主要用于处理数据(诸如统计平均值,求和等),并返回计算后的数据结果 db.collection.bulkWrite() 批量写入 ...

  6. CLR Exception---E0434352

    什么是CLR Exception---E0434352 CLR异常是.NET应用程序生成的异常类型.异常被封装在从System.exception类派生的类中.它的异常代码是0xE0434352,代码 ...

  7. The Ultimate Guide to handling JWTs on frontend clients (GraphQL)

    转自:https://blog.hasura.io/best-practices-of-using-jwt-with-graphql/ hasura 团队关于jwt 的实践 JWTs (JSON We ...

  8. benchmarkdotnet docker 运行

    使用docker 运行基准测试是一个不错的选择,可以减少我们环境搭建的时间,同时也可以加速ci/cd 环境准备 docker-compose 文件 version: "3" ser ...

  9. Python-内存泄漏 持续增长 检查点

    仅个人目前遇见的内存问题, 可能不适用所有问题 一下只是简单的实例代码, 可能跑不起来, 只是看看 可变变量参数 小例子: def foo(a, b=[]): b.append(a) print b ...

  10. To ssh://xxx.com:8022/test/project.git ! [remote rejected] master -> master (pre-receive hook declined) error: failed to push some refs to 'ssh://xxx.com:8022/test/project.git'

    To ssh://xxx.com:8022/test/project.git ! [remote rejected] master -> master (pre-receive hook dec ...