如何封装公共异步请求在微信小程序中使用async-await?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1051个文字,预计阅读时间需要5分钟。
前言:在平日的项目开发中,我们经常会遇到同步异步执行的问题,尤其是当执行某一操作依赖于另一个操作的返回结果时。那么,这个情况下,你该如何解决这个问题呢?
1. 使用setTimeout让它异步执行。
前言
在平常的项目开发中肯定会遇到同步异步执行的问题,还有的就是当执行某一个操作依赖上一个执行所返回的结果,那么这个时候你会如何解决这个问题呢;
1.是用settimeout让它异步执行,显然这只是让它加入异步任务队列中去执行,但并不能保证等待其返回结果再去执行另一个操作。
2.还是自己封装callback函数?那样就会陷入所谓的回调地狱,代码层层嵌套,环环相扣,逻辑稍微复杂就会很难去维护。
3.当然es6中的promise倒是很好的解决了这样的问题,再配合es7的async和await就更完美了,await返回的也是一个promise对象,这个关于promise和async,await的使用方法就不说了。
实现方案
首先小程序目前还是不支持es7的async和await的,那么如何让它支持呢
1、点击下载
regenerator,并把下载好的runtime.js文件夹放到自己小程序的utils目录下,包总共才20kb多,体积很小的。
本文共计1051个文字,预计阅读时间需要5分钟。
前言:在平日的项目开发中,我们经常会遇到同步异步执行的问题,尤其是当执行某一操作依赖于另一个操作的返回结果时。那么,这个情况下,你该如何解决这个问题呢?
1. 使用setTimeout让它异步执行。
前言
在平常的项目开发中肯定会遇到同步异步执行的问题,还有的就是当执行某一个操作依赖上一个执行所返回的结果,那么这个时候你会如何解决这个问题呢;
1.是用settimeout让它异步执行,显然这只是让它加入异步任务队列中去执行,但并不能保证等待其返回结果再去执行另一个操作。
2.还是自己封装callback函数?那样就会陷入所谓的回调地狱,代码层层嵌套,环环相扣,逻辑稍微复杂就会很难去维护。
3.当然es6中的promise倒是很好的解决了这样的问题,再配合es7的async和await就更完美了,await返回的也是一个promise对象,这个关于promise和async,await的使用方法就不说了。
实现方案
首先小程序目前还是不支持es7的async和await的,那么如何让它支持呢
1、点击下载
regenerator,并把下载好的runtime.js文件夹放到自己小程序的utils目录下,包总共才20kb多,体积很小的。

