博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
理解 Promise
阅读量:5102 次
发布时间:2019-06-13

本文共 589 字,大约阅读时间需要 1 分钟。

promise 跟回调函数相比,可以让我们更方便地定义异步返回后的操作。

基本用法:

//指定函数名 a、blet p = new Promise(function(a, b){     //指定promise什么时候改变状态,以及改变时传递的数据    setTimeout(()=>a('I am resolve message'), 1000)//1    setTimeout(()=>b('I am reject message'), 3000);//2});//指定改变时的回调函数,来处理数据p.then(msg=>console.log(msg), msg=>console.log(msg))

我们不用操心改变状态这个过程的实现,而只需要指定函数名ab——它们的函数体由浏览器定义,功能分别是将promise的状态变成“成功”和“失败”。

promise状态改变时,浏览器就会调用回调函数。

注意 promise 的状态只能从“未完成”变成“成功”或“失败”,而不能从“成功”变成“失败”,所以上面代码中,当1生效后,2就不会生效了。另外传递的数据可以是任何类型,甚至可以是promise类型来实现链式调用。

理解了基本的流程,其他的API应该也很容易了。

转载于:https://www.cnblogs.com/ppJuan/p/8994621.html

你可能感兴趣的文章
spark--环境搭建--4.ZooKeeper345集群搭建
查看>>
【Leetcode_easy】1103. Distribute Candies to People
查看>>
Codeforces Round #426 (Div. 2) C. The Meaningless Game
查看>>
51nod 1428 活动安排问题 (贪心+优先队列)
查看>>
leetcode - Next Permutation
查看>>
C#创建Windows服务程序
查看>>
Spring Boot 2.0系列文章(五):Spring Boot 2.0 项目源码结构预览
查看>>
中国烧鹅系列:利用烧鹅自动执行SD卡上的自定义程序(含视频)
查看>>
Solaris11修改主机名
查看>>
latex for wordpress(一)
查看>>
如何在maven工程中加载oracle驱动
查看>>
Flask 系列之 SQLAlchemy
查看>>
iframe跨域与session失效问题
查看>>
aboutMe
查看>>
【Debug】IAR在线调试时报错,Warning: Stack pointer is setup to incorrect alignmentStack,芯片使用STM32F103ZET6...
查看>>
一句话说清分布式锁,进程锁,线程锁
查看>>
Hash和Bloom Filter
查看>>
SQL Server获取月度列表
查看>>
python常用函数
查看>>
python 描点画圆
查看>>