Promise.resolve解析
总结自: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解析的更多相关文章
- AngularJS进阶(三十六)AngularJS项目开发技巧之利用Service&Promise&Resolve解决图片预加载问题(后记)
AngularJS项目开发技巧之利用Service&Promise&Resolve解决图片预加载问题(后记) 前言 在"AngularJS项目开发技巧之图片预加载" ...
- ES6中的Promise.resolve()的作用
var foo = { then: (resolve, reject) => resolve('foo') }; var resolved = Promise.resolve(foo); 相当于 ...
- Promise.resolve的作用
Promise.resolve方法有下面三种形式: Promise.resolve(value); Promise.resolve(promise); Promise.resolve(thenable ...
- [转载]es6 Promise.resolve()方法
es6 Promise.resolve()方法 2018-01-27 22:29:06 ixygj197875 阅读数 16925更多 分类专栏: ES6标准入门 (阮一峰) ES6标准入门 Pr ...
- promise用法解析
Promise的理解 Promise是对异步操作的一种解决方案,一般情况下,如果有异步操作,就需要使用Promise对这个异步操作进行封装 使用Promise后可以使代码看起来更加优雅并且易于维护 使 ...
- Promise.resolve()与Promise
//Promise.resolve()和Promise.reject()常用来生成已经被决议为失败或者成功的promise案例 //Promise.reject()简单一些,不管传给它什么值,它决议为 ...
- Promise.resolve( data)与Promise.reject( data )
Promise.resolve( data)与Promise.reject( data ) 常用来生成已经决议失败或成功的promise实例: 1.Promise.reject(data)不管传递的是 ...
- Promise.resolve(x)中x有几种情况
ps:下面参数说的是Promise.resolve(x)中的x 一共四种情况: 1.如果参数是Promise实例本身,则抛出错误 2.如果参数是一个promise对象,则then函数的执行取决于这个参 ...
- Promise(resolve,reject)的基本使用
什么是Promise? Promise是一个构造函数,其原型上有 then.catch方法,还有reslove,reject等静态方法.通过创建Promise实例,可以调用Promise.protot ...
随机推荐
- SSM项目day4 Oracle批量插入数据bug <foreach>标签中collection属性使用的是属性名
- web万维网 -- 基础概念
Web(万维网World Wide Web的简称)是个包罗万象的万花筒,不同的人从不同的角度观察,对于Web究竟是什么会得出大不相同的观点. 百科:web(World Wide Web)即全球广域网, ...
- 在阿里云CentOS服务器上安装Python3.7并设置为默认Python
1.引言 Linux操作系统自带一个python2.7,没有python3,在开发的时候非常不便,因此需要安装一个python3,并且将python3设置系统默认python,同时还不能影响那些Lin ...
- Vuejs模板绑定
一.Vue实例 ①el:指定被Vue管理的模板入口,网页中的DOM节点,但是不能使用body和html,必须是一个普通的HTML标签节点,一般是div ②data:数据驱动视图的数据,在data中初始 ...
- nginx location配置说明
nginx location语法规则:location [=|~|~*|^~] /uri/ { … } nginx的location匹配的变量是$uri 规则优先级 = 高于 ^~ 高于 ~* ...
- nginx php-fpm 配置问题(2)
问题: Nginx/FPM/PHP all php files say 'File not found.' 解决: 可能情况 1: 在 nginx php-fpm 配置问题(1)文中,我们分析了一种可 ...
- jmeter(四十五)常用Beanshell脚本
整理了一批jmeter常用的beanshell脚本供大家参考! 时间戳 import java.text.SimpleDateFormat; import java.util.Calendar; im ...
- Comparable接口的使用
功能: Comparable接口可用于对象的排序或者对象的分组 介绍: Comparable接口强行对实现它的类的每个实例进行自然排序,该接口的唯一方法compareTo方法被称为自然比较方法 方法: ...
- openssl 自己制作ssl证书:自己签发免费ssl证书,为nginx生成自签名ssl证书
server { listen 80; listen 443 ssl; server_name ~^((cloud)|(demo-cloud)|(demo2-cloud)|(approval1))(( ...
- Oracle的“ORA-00937: 不是单组分组函数” 如何解决?
之前在编写oracle的sql语句时遇到这个问题,这里做个记录 问题描述:ORA-00937: 不是单组分组函数 问题原因:select语句中又在查询某一列的值,其中还有聚合函数 原先本人编写SQL是 ...