Promise.resolve解析

摘要:
SetTimeout(function(){console.log(“三”);//下一轮事件将以循环方式执行},0);Promise.resolve().then(function(){console.log(“two”);});console.log(“一个”);

总结自: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解析》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇ASP.NET Core的Kestrel服务器(转载)Unity打开外部程序exe/Bat文件方案下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

如何进行EMC Symmetrix (DMX或者VMAX)的系统健康检查

如何进行EMC Symmetrix (DMX或者VMAX)的系统健康检查 需要有SymmToken进行SymmWin的登录操作 SP登录 打开控制台(Service Processor)会看到如下界面,依次输入Credential和Password,点击Login按钮进入登陆界面。 Credential和Password由SymmToken服务供应...

Nginx补充

[root@localhost ~]# yum -y install pcre-devel zlib-devel openssl-devel gcc gcc-c++ make [root@localhost ~]# useradd -M -s /sbin/nologin nginx [root@localhost ~]# tar xf nginx-1...

[20171120]关于INBOUND_CONNECT_TIMEOUT设置.txt

[20171120]关于INBOUND_CONNECT_TIMEOUT设置.txt--//上午翻看以前我的发的帖子,发现链接:http://www.itpub.net/thread-2066758-1-1.html--//今天再仔细看了一下,注意看了一下别人的回复,才发现一些细节问题,原始链接:--//http://www.cnblogs.com/kerr...

Meteor + node-imap(nodejs) + mailparser(nodejs) 实现完整收发邮件

版本信息: Meteor:windows MIS安装  0.6.4 node-imap:npm指定的0.8.0版,不是默认的0.7.x版。 mailparser:npm安装0.3.6 以下是记录踩到的坑: 1. 使用meteor的email来发送邮件时,设置process.env.MAIL_URL要注意,如果你的gmail账号是自己设置了domain的,如...

批处理实现自动删除过期文件的定期操作

执行后会在相同目录下生成日志文件:DelExpiredLog.log现实执行的起始时间点。@echo off rem write to log set filename=DelExpiredLog.log echo -------------------Delete Expired Log Files------------------------- &g...

Linux清空文件内容方法大全

Linux系统中一切皆文件。 所以在清空或删除文件之前一定要确保该文件不是系统文件或者其他重要配置文件,否则可能引发系统错误。 一、通过重定向来清空文件内容 该方法是最简单的,通过shell重定向null到指定文件即可 $ > system.log 还有两个重定向方法: 重定向:或者true到指定文件 $ :> system.log 或者...