在使用async awit之前先确定项目支不支持(不支持报 regeneratorRuntime is not defined)

使用webpack搭建的项目可使用 这里 提供webpack配置支持

  • 使用babel-preset-stage-3、 babel-polyfill 或 babel-plugin-transform-runtime  注意babel v6、v7版本配置稍有不同

继发

//使用async awit
asyncPrint = async () => {try {const t1 = await http.get('demandUser/getUserInfo'); //http为axios实例const t2 = await http.post('buy/refund1', { ordernum: t1.num });const t3 = await http.post('buy/refund2', { ordernum: t2.num });}catch (err) {console.log(err);}
};//不使用sync awit     print = () => {http.get('demandUser/getUserInfo').then((t1) => {http.post('buy/refund1', {ordernum: t1.num}).then((t2) => {http.post('buy/refund2', {ordernum: t2.num}).then((data) => {}).catch((err) => {})}).catch((err) => {})});};

并发

    asyncPrint = async () => {try {let t1 = http.get('demandUser/getUserInfo');let t2 = http.post('buy/refund1', { ordernum: t1.num });let t3 = await http.post('buy/refund2', { ordernum: t2.num });await t1;await t2;await t3;}catch (err) {console.log(err);}};print = () => {http.get('demandUser/getUserInfo').then((t1) => {}).catch((err) => {});http.post('buy/refund1',{}).then((data)=>{}).catch((err) => {});http.post('buy/refund2',{}).then((data)=>{}).catch((err) => {});};

这里明显使用async awit在处理多次请求时代码量更少且更像同步操作

异步方式参考 阮一峰 async

async awit 实现axios继发与并发相关推荐

  1. javascript async awit 和 Promise 概述

    async awit概述 async函数可能包含0个或者多个await表达式.await表达式会暂停整个async函数的执行进程并出让其控制权,只有当其等待的基于promise的异步操作被兑现或被拒绝 ...

  2. axios.all()解决并发请求的问题

    axios.all()解决并发请求的问题 参考文章: (1)axios.all()解决并发请求的问题 (2)https://www.cnblogs.com/chao202426/p/12068260. ...

  3. async awit 异步调用的理解及应用

    async awit 异步调用的理解及应用 async 是"异步"的简写,而 await 可以认为是 async wait 的简写.所以应该很好理解 async 用于申明一个 fu ...

  4. promise 与async awit的写法

    async awit 是 Generator 的一个语法糖 如有不对,望指出

  5. 前后端交互(Promise、fetch、axios、async/awit用法)

    1.Promise概述 Promise是异步编程的一种解决方案,从语法上讲,Promise是一个对象,从它可以获取异步操作的消息. 1.2Promise的好处: 1.2.1. 可以避免多层异步调用嵌套 ...

  6. HTML5技术分享 ES2017继发与并发

    大家都知道,async函数的返回值是 Promise 对象,这比 Generator 函数的返回值是 Iterator 对象方便多了.你可以用then方法指定下一步的操作. 进一步说,async函数完 ...

  7. 使用async await 封装 axios

    es6 的promise 逐步解决了层层回调的问题,es8的async await让异步变成了同步的写法,在vue中,可以通过封装axios,使得所有的请求都可以使用同步写法,同时处理错误信息等,可以 ...

  8. asyncio 文件io高并发_python教程:使用 async 和 await 协程进行并发编程

    python 一直在进行并发编程的优化, 比较熟知的是使用 thread 模块多线程和 multiprocessing 多进程,后来慢慢引入基于 yield 关键字的协程. 而近几个版本,python ...

  9. Node.js async/awit

    1:NodeJS 是什么 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境. Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高效. No ...

最新文章

  1. vs2010 使用vs online账号 需要安装的插件
  2. Win2008支持PowerShell设置方法
  3. Linux的vim编辑器中的翻页命令
  4. Linux技巧:自动挂载UDF光盘的技巧
  5. 字符串逆序(信息学奥赛一本通-T1162)
  6. 超大规模数据集类的创建
  7. 苹果本周四将发布 OS X Yosemite 公开测试版
  8. DB2 SQL Error: SQLCODE=-668, SQLSTATE=57016错误解决方法
  9. ResultSet用法集锦
  10. 关于AI拍照搜题的一些想法
  11. 云播 Android,云播放(Air Playit)android版
  12. 国二c语言和南开100题,全国计算机二级C语言题库_南开100题.doc
  13. 旧手机改造成web服务器并实现内网穿透
  14. 无卷积结构(那就纯ransformer)的参考图像分割:ReSTR: Convolution-free Referring Image Segmentation Using Transformers
  15. 方框如何打勾、打叉与涂黑(转)
  16. 抖音数字人主播app
  17. 皮卡丘(pikachu)不安全的文件下载
  18. npm 配置项registry修改为淘宝镜像
  19. 男人的快乐不就来了?
  20. JSON decoding error: Invalid UTF-8 start byte 0xb6

热门文章

  1. F1C200S挖坑日记(1)——前言
  2. 微信小程序学生选课系统app设计
  3. 如何实现UPS电源远程监测及开关机控制、服务器关机保护
  4. !!最神奇、最实用和最精准的逃顶指标公式(通达信源码)
  5. 仓库码放要求_仓储物料码放保管规定
  6. 【编程之路】Python编程进阶
  7. Cocos 入门教程
  8. m1MacBook写JAVA_Mac M1 Java 开发环境配置
  9. action1c语言,c语言典型例题及代码(1)
  10. 【入门级】使用xshell+vscode远程连接服务器(安装+配置一条龙服务)