Promise对象和async函数
Promise对象
//1开始 function fna(){console.log('1开始');var p = new Promise(function(resolve, reject){ //做一些异步操作setTimeout(function(){console.log('1完毕!');resolve('进行2');//完成(Rejected)}, 6000);// setTimeout(function(){// console.log('1失败!');// reject('1没有完成');//失败// }, 1000); });return p; }//2开始 function fnb(data){console.log('2开始' + data);var p = new Promise(function(resolve, reject){ //做一些异步操作setTimeout(function(){console.log('2完毕!');resolve('进行3');}, 2000);});return p; }//3开始 function fnc(data){console.log('3开始' + data);var p = new Promise(function(resolve, reject){ //做一些异步操作setTimeout(function(){console.log('3完毕!');resolve('123都完成');}, 2000);});return p; }fna() .then(function(data){ //成功的return fnb(data); }) .catch(function(data){ //失败的 console.log(data ); }) .then(function(data){return fnc(data); }) .then(function(data){//throw new Error('发现错误!');//捕捉错误 console.log(data); });
结果:
.all()方法
function cutUp(){console.log('1开始');var p = new Promise(function(resolve, reject){ //做一些异步操作setTimeout(function(){console.log('1完毕!');resolve('准备好1');}, 1000);});return p; }function boil(){console.log('2开始');var p = new Promise(function(resolve, reject){ //做一些异步操作setTimeout(function(){console.log('2完毕!');resolve('准备好2');}, 6000);});return p; }Promise .all([cutUp(), boil()])//all 方法在所有异步操作执行完后才执行下面函数 .then(function(results){console.log("12准备完毕:");console.log(results); });
结果:
async函数
async function asyncValue(value) { //函数前面的async关键字,表明该函数将返回一个Promise对象console.log('1');//当遇到await关键字等待 await后的函数执行完成才会继续执行await timeout(6000).then(function(data){console.log(data); }).catch(function(data){console.log(data); })console.log('完毕');return value; } asyncValue();//调用 function timeout(ms) {return new Promise((resolve) => {setTimeout(()=>{resolve('干净的碗筷');},ms);}); }
结果:
转载于:https://www.cnblogs.com/aSnow/p/9373369.html
Promise对象和async函数相关推荐
- await把Promise解析为普通对象,async函数return的返回值是promise对象,await后转化为普通Object
async函数return的是Promise,await Promise后得到Object 文章目录 前言 1.函数return的返回值Object,await后得到的是Object 2.async函 ...
- javascript中的异步调用,promise对象,async/await用法
原生javascript中的的回调函数 即callback 就是通过回调函数来通知主程序 对于io 密集的非常好用:eg. file,DB读写,网络访问 异步: javascript就是个单线程语言, ...
- 阮一峰老师的ES6入门:async 函数
async 函数 1. 含义 ES2017 标准引入了 async 函数,使得异步操作变得更加方便. async 函数是什么?一句话,它就是 Generator 函数的语法糖. 前文有一个 Gener ...
- ES6学习笔记(十六)async函数
1.含义 ES2017 标准引入了 async 函数,使得异步操作变得更加方便. async 函数是什么?一句话,它就是 Generator 函数的语法糖,号称异步的终极解决方案. 前文有一个 Gen ...
- “睡服”面试官系列第十九篇之async函数(建议收藏学习)
目录 1. 含义 2. 基本用法 3. 语法 3.1返回 Promise 对象 3.2Promise 对象的状态变化 3.3await 命令 3.4错误处理 3.5使用注意点 4. async 函数的 ...
- [ES6] 细化ES6之 -- async函数
async函数是什么 用于简化Promise异步调用的操作 是 Generator 函数的语法糖 async/await类似于组合生成器和Promises function resloveAfter2 ...
- es6 async函数的语法
async函数的语法 async函数的语法规则总体上比较简单,难点是错误处理机制. 返回 Promise 对象 async函数返回一个 Promise 对象. async函数内部return语句返回的 ...
- async 函数 ajax,Async 函数的使用及简单实现
解决回调地狱的异步操作,Async 函数是终极办法,但了解生成器和 Promise 有助于理解 Async 函数原理.由于内容较多,分三部分进行,这是第三部分,介绍 Async 函数相关.第一部分介绍 ...
- JS async 函数
async 函数 含义 ES2017 标准引入了 async 函数,使得异步操作变得更加方便. async 函数是什么?一句话,它就是 Generator 函数的语法糖. 生成器 function* ...
最新文章
- 客快物流大数据项目(八):Docker的安装和启动
- Java并发编程有多难?这几个核心技术你掌握了吗?
- Linux内核模块开发 Slab高速缓存接口与用例
- TensorFlow安装手册
- 在jMeter里如何创建用户定义的能生成随机数的变量
- Java EE 8 MVC:使用查询参数
- react实现异步插件_React-loadable实现组件进行异步加载
- BitTorrent协议规范(BitTorrent Protocol Specification)系列之元信息文件结构(Metainfo File Structure)-第二部分...
- Request 对象
- 用SPSS做数据分析
- 计算机休眠唤醒后 网络受限,彻底解决win10系统待机、休眠被唤醒后笔记本WIFI无线网无法连接的问题-网络教程与技术
-亦是美网络...
- JavaScript生成唯一uuid
- 第十课◆ Newland Edu Li nearI ayout和Re lati vel ayout
- 君康人寿2019年排名_2019中国保险公司竞争力报告出炉 君康人寿盈利能力排名第二...
- 复正弦信号、实数信号的DFT
- 人民币大写转阿拉伯数字的java实现
- 2021-11-03皮革制作与环保科技
- 10-3-查看文章详情
- RapidMiner 5.3.015源代码下载并且正确的运行
- 聚类分析详细解读python