1.promise.resolve()

它是成功状态的Promsie的一种简写方式。

参数传递:(以下重点掌握一般参数的传递):

1)一般参数和参数为空的情况下,直接返回一个resolved状态的Promise对象;

2)如果参数是Promise的实例,将不做任何修改、原封不动地返回这个实例;

3)如果参数是具有then方法的对象,Promise.resolve()会将这个对象转为Promise对象,并立即执行这个对象的then方法。

ps: 重视返回的Promise的状态对其后者执行的函数的影响

<script>
// Promise.resolve()// 1.Promise.resolve()的本质// 它是成功状态的Promsie的一种简写方式//new Promise(resolve => resolve('foo'));// 简写//Promise.resolve('foo');// 2.参数// 2.1一般参数的传递:(重点)// 调用Promise.resolve()方法传递的一般参数原封不动地向后传递,由then的第一个处理函数的形参接收Promise.resolve('foo').then(data => {console.log(data); //输出 foo})// 2.2 Promise.resolve()传递一个Promise作为参数:(了解)//当Promise.resolve()接收的是Promise对象时,直接返回这个Promise对象,什么都不做const p1 = new Promise(resolve => {setTimeout(resolve,1000,'我执行了');// 上面这句代码等同于:// setTimeout(()=>{//     resolve("我执行了");// },1000);// ps:也就是说setTimeout的第三个参数是传递到它的处理函数中做参数的})Promise.resolve(p1).then(data => {console.log(data); //一秒后输出:我执行了});// 等价于:p1.then(data => {console.log(data); //一秒后输出:我执行了})console.log(Promise.resolve(p1) === p1); //输出true// 我们可以衍生出:// 当resolve函数接收的是Promise对象时,后面的then会根据传递的Promise对象的状态变化决定执行哪一个回调new Promise(resolve => resolve(p1)).then(data => {console.log(data); //一秒后输出:我执行了})</script>

2.Promise.reject()

它是失败状态的Promsie的一种简写方式:

new Promise(reject => reject('reason'));

简写:Promise.reject('reason');

参数传递:

不管什么参数,都会原封不动地向后传递,作为后续方法的参数。

扩展:

学完这两个方法以后,我们返回一个错误的Promise变得更简便:

 new Promise((resolve,reject)=>{resolve(123)}).then(data => {console.log(data);//返回一个失败状态的Promise:return Promise.reject('reason');}).catch(err => console.log(err));

Promise构造函数的方法1:Promise.resolve()和Promsie.reject()相关推荐

  1. Promise学习-手写一个promise

    学习了Promise的A+规范,以及手写一个Promise后,我对Promise学到的结果. 平常也有用到过promise来处理异步,先回顾下promise的用法 new Promise((resol ...

  2. cannot resolve symbol什么意思_JavaScript异步编程实现之一:Promise对象是什么?对resolve理解...

    问题:Promise对象是什么? Promise对象是ES6( ECMAScript 2015 )对于异步编程提供的一种解决方案,比传统的解决方案--回调函数和事件--更合理和更强大. 传统回调: / ...

  3. Promise的使用方法

    PS~: Promise是一个构造函数,自己身上有all.reject.resolve等几个方法,原型上有then.catch等几个方法. Promise 对象用于表示一个异步操作的最终状态(完成或失 ...

  4. ES6 — Promise基础用法详解(resolve、reject、then、catch,all,)

    ES6 - Promise基础用法详解 Promise 是一个构造函数,它自身拥有all.reject.resolve这几个眼熟的方法, 原型上有then.catch等同样熟悉的方法. 所以,在开始一 ...

  5. [js] 写一个方法实现promise失败后自动重试

    [js] 写一个方法实现promise失败后自动重试 <!DOCTYPE html> <html lang="en"><head><met ...

  6. [JavaScript] promise中.then()方法

    promise中.then()方法 promise的构造函数是同步执行 promise.then中的函数是异步执行 .then()异步执行 : 当此方法执行完后再执行内部的程序是避免了没有获取到数据 ...

  7. es6 Promise.prototype.catch()方法

    Promise.prototype.catch()方法 Promise.prototype.catch方法是.then(null, rejection)的别名,用于指定发生错误时的回调函数. getJ ...

  8. Uncaught (in promise)的解决方法,可能原因

    Uncaught (in promise) 的解决方法,可能原因:仅仅只是一种参考原因 我是因为copy的项目直接修改的,结果一直报错 Uncaught (in promise),检查发现接口请求数据 ...

  9. (基础)Promise中catch()方法使用,捕获错误(拒绝)

    如果Promise抛出错误,then中没有处理就会报错 报错情况 // 这样会报错,因为没有处理promise的拒绝 const promise = new Promise((resolve, rej ...

最新文章

  1. 使用git 上传自己代码
  2. TCP实现P2P通信、TCP穿越NAT的方法、TCP打洞
  3. 【Web安全】从xxe到phar反序列化
  4. hql可以使用distinct吗_香薰精油可以当香水使用吗
  5. Web端即时通讯技术盘点:短轮询、Comet、Websocket、SSE
  6. IPC-----消息队列
  7. teamviewer企业版 添加计算机,teamviewer添加常用控制电脑列表的操作步骤
  8. python特性 property_python特性property
  9. java2017下载_Download Java for OS X 2017-001
  10. 快速上手,定制第一个WES8镜像
  11. linux配置usb主从_技术 | 手把手教你搭建MySQL主从架构
  12. [转载]ASP.NET-----Repeater数据控件的用法总结
  13. xstream不映射字段_XStream序列化与反序列化对象
  14. Padavan安装使用ZeroTier实现组建虚拟局域网的方法
  15. Frodo and pillows CodeForces - 760B (二分)
  16. 带你了解ICCV、ECCV、CVPR三大国际会议
  17. 经典管理学定律3 - 鳄鱼法则
  18. 学习树莓派的几个推荐站点
  19. 一条命令在 Ubuntu 中安装所有基本的媒体编解码器
  20. JVM内存分配和垃圾收集

热门文章

  1. 【转】Kbps、KB、Mbps单位换算
  2. 计算机网络 交换机配置及VLAN划分
  3. Windows10系统错误码0xc0000142怎么修复?
  4. 【转】对 HTTP 304 的理解
  5. 开发利器之Mac下的MacPorts
  6. 织梦Dede如何删除管理员admin
  7. VB文本框textbox的那点事
  8. DevStack环境搭建
  9. secureCRT 详细介绍
  10. JavaScript流程控制-循环(循环(for 循环,双重 for 循环,while 循环,do while 循环,continue break))