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函数相关推荐

  1. await把Promise解析为普通对象,async函数return的返回值是promise对象,await后转化为普通Object

    async函数return的是Promise,await Promise后得到Object 文章目录 前言 1.函数return的返回值Object,await后得到的是Object 2.async函 ...

  2. javascript中的异步调用,promise对象,async/await用法

    原生javascript中的的回调函数 即callback 就是通过回调函数来通知主程序 对于io 密集的非常好用:eg. file,DB读写,网络访问 异步: javascript就是个单线程语言, ...

  3. 阮一峰老师的ES6入门:async 函数

    async 函数 1. 含义 ES2017 标准引入了 async 函数,使得异步操作变得更加方便. async 函数是什么?一句话,它就是 Generator 函数的语法糖. 前文有一个 Gener ...

  4. ES6学习笔记(十六)async函数

    1.含义 ES2017 标准引入了 async 函数,使得异步操作变得更加方便. async 函数是什么?一句话,它就是 Generator 函数的语法糖,号称异步的终极解决方案. 前文有一个 Gen ...

  5. “睡服”面试官系列第十九篇之async函数(建议收藏学习)

    目录 1. 含义 2. 基本用法 3. 语法 3.1返回 Promise 对象 3.2Promise 对象的状态变化 3.3await 命令 3.4错误处理 3.5使用注意点 4. async 函数的 ...

  6. [ES6] 细化ES6之 -- async函数

    async函数是什么 用于简化Promise异步调用的操作 是 Generator 函数的语法糖 async/await类似于组合生成器和Promises function resloveAfter2 ...

  7. es6 async函数的语法

    async函数的语法 async函数的语法规则总体上比较简单,难点是错误处理机制. 返回 Promise 对象 async函数返回一个 Promise 对象. async函数内部return语句返回的 ...

  8. async 函数 ajax,Async 函数的使用及简单实现

    解决回调地狱的异步操作,Async 函数是终极办法,但了解生成器和 Promise 有助于理解 Async 函数原理.由于内容较多,分三部分进行,这是第三部分,介绍 Async 函数相关.第一部分介绍 ...

  9. JS async 函数

    async 函数 含义 ES2017 标准引入了 async 函数,使得异步操作变得更加方便. async 函数是什么?一句话,它就是 Generator 函数的语法糖. 生成器 function* ...

最新文章

  1. 客快物流大数据项目(八):Docker的安装和启动
  2. Java并发编程有多难?这几个核心技术你掌握了吗?
  3. Linux内核模块开发 Slab高速缓存接口与用例
  4. TensorFlow安装手册
  5. 在jMeter里如何创建用户定义的能生成随机数的变量
  6. Java EE 8 MVC:使用查询参数
  7. react实现异步插件_React-loadable实现组件进行异步加载
  8. BitTorrent协议规范(BitTorrent Protocol Specification)系列之元信息文件结构(Metainfo File Structure)-第二部分...
  9. Request 对象
  10. 用SPSS做数据分析
  11. 计算机休眠唤醒后 网络受限,彻底解决win10系统待机、休眠被唤醒后笔记本WIFI无线网无法连接的问题-网络教程与技术 -亦是美网络...
  12. JavaScript生成唯一uuid
  13. 第十课◆ Newland Edu Li nearI ayout和Re lati vel ayout
  14. 君康人寿2019年排名_2019中国保险公司竞争力报告出炉 君康人寿盈利能力排名第二...
  15. 复正弦信号、实数信号的DFT
  16. 人民币大写转阿拉伯数字的java实现
  17. 2021-11-03皮革制作与环保科技
  18. 10-3-查看文章详情
  19. RapidMiner 5.3.015源代码下载并且正确的运行
  20. 聚类分析详细解读python

热门文章

  1. Win10隐藏硬盘分区
  2. android的WindowManager.addView弹窗添加
  3. html5中上传图片
  4. 90%的用户都不知道手机内部功能
  5. (DML触发器)如何正确理解触发器的deleted表和inserted表(转)
  6. [功能改进]防止提交重复评论内容
  7. opencv 图片读取和视频读取(一)
  8. [Redis]Redis章2 Redis 持久化
  9. java 面试题汇总
  10. @EnableScheduling和@Scheduled的使用(初级)