Promise,async,await
时间:2019-11-18
本文章向大家介绍Promise,async,await,主要包括Promise,async,await使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
- 普通的Promise
<script> function t1(resolve, reject) { return new Promise(function (resolve, reject) { setTimeout(() => { console.log('1s执行') resolve('code:200 1s') }, 1000) }); } function t2(resolve, reject) { return new Promise(function (resolve, reject) { setTimeout(() => { console.log('2s执行') resolve('code:200 2s') }, 2000) }); } var p = new Promise(function (resolve, reject) { console.log('开始'); resolve(123); }); p.then(t2) .then(t1) .then(res => { console.log(res) }) //执行打印顺序 //开始 //2s执行 //1s执行 //code:200 1s
- Promise all
Promise.all([t1(),t2()]).then(res=>{ console.log(res) })
//执行打印顺序//1s执行//2s执行//["code:200 1s", "code:200 2s"] - Promise race
Promise.race([t1(),t2()]).then(res=>{ console.log(res) }).catch(res=>{ console.log('reject') }) //执行打印顺序 //1s执行 //code:200 1s //2s执行
- async+await 串行执行
async function asyncAwaitFn(str) { return await new Promise((resolve, reject) => { setTimeout(() => { resolve(str) }, 1000); }) } const test = async () => { //串行执行 console.time('test') console.log(await asyncAwaitFn('执行1')); //执行1 console.log(await asyncAwaitFn('执行1')); //执行2 console.timeEnd('test') //test: 2004.552978515625ms } test();
- async+await 并行执行
async function asyncAwaitFn(str) { return await new Promise((resolve, reject) => { setTimeout(() => { resolve(str) }, 1000); }) } const test = async () => { //并行执行 console.time('test') const parallelOne = asyncAwaitFn('执行1'); const parallelTwo = asyncAwaitFn('执行2') console.log(await parallelOne) //执行1 console.log(await parallelTwo) //执行1 console.timeEnd('test') //test: 1002.541015625ms } test();
原文地址:https://www.cnblogs.com/tiger4513/p/11882368.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 操作系统的启动
- 一福变多福 支付宝集福 网络图片抓取 基本图像操作
- Python帮你买口罩 获取某东的部分口罩数据
- Python聚多福
- Python获取B站视频弹幕 简单处理
- Python实现图片手绘效果
- Python给头像戴口罩
- Python表白窗口 仿某音设计
- Autonomous_driving_application_Car_detection_v3a
- Python实现图片相似度计算
- Python实现在原始视频上添加动态雪花
- Three.js学习|代码详解 个人见解
- Linux进程详解
- Face_Recognition_v3a
- Building_a_Recurrent_Neural_Network_Step_by_Step_v3b