重庆小潘seo博客

当前位置:首页 > 重庆网络营销 > 小潘杂谈 >

小潘杂谈

微信开发中使用async/await

时间:2020-09-04 15:00:09 作者:重庆seo小潘 来源:
微信小程序中有大量接口是异步调用,比如 wx.login()、wx.request()、wx.getUserInfo() 等,都是使用一个对象作为参数,并定义了 success()、fail() 和 complete() 作为异步调用不同情况下的回调。 但是,以回调的方式来写程序,真的很伤,如果有一个过程需

微信小程序中有大量接口是异步调用,比如 wx.login()、wx.request()、wx.getUserInfo() 等,都是使用一个对象作为参数,并定义了 success()、fail() 和 complete() 作为异步调用不同情况下的回调。

但是,以回调的方式来写程序,真的很伤,如果有一个过程需要依次干这些事情:

wx.getStorage() 获取缓存数据,检查登录状态

wx.getSetting() 获取配置信息,

wx.login() 使用配置信息进行登录

wx.getUserInfo() 登录后获取用户信息

wx.request() 向业务服务器发起数据请求

那么,代码大概会长这样wx.getStorage({fail: () => {wx.getSetting({success: settings => {wx.login({success: ({ code }) => {wx.getUesrInfo({code,success: (userInfo) => {wx.request({success: () => {// do something}});}});}});}});}});显然,async/await 可以同样逻辑的代码看起来舒服得多。不过默认情况下,“微信开发者工具”并不支持 async/await。如何启用?

1. 用上 async/await

如果有心,在微信小程序官方文档中搜索 async 可以找到“工具!铱?⒏ㄖ