首页/文章/ 详情

程序猿 | wx.request()同步与异步问题(一)

1年前浏览451

请求服务器是程序开发过程的常规操作。在微 信小程序开发过程中,请求服务器需要使用到wx.request()函数。


   
   

   

但是,在开发过程中,我们可能会遇见一个异步导致的问题,即在wx.request()函数返回之前,程序就继续执行该函数之后的代码去了,等wx.request()函数返回时,代码都执行完了,返回的内容也就失效了。

这主要是由于Java Script的异步机制造成!如何解决呢?

本文采取一种简单的方案。


   
   

   

查看官方文档的相关说明,我们可以发现,在数据接收成功后,一定会执行回调函数,即执行success中的代码。

我们在同步流程中才说“返回”,异步没有“返回”这个概念(或者说异步返回是没有意义的,等你返回了,我都走远了),异步对应的是“回调”,也就是说,对于一个异步函数,我们应该传入一个“回调函数”来接收结果。

于是,我们可以将所有依赖wx.request()结果的代码,都迁移到success函数中,这样就可以在保证程序的执行顺序。


   
   

   

当然,wx request()也可能失败,那么就在fail()回调函数中处理失败的情况。

此方法,亲测有效,但会导致代码层数增加,可读性降低。

   
END    
每日一句    
我们这种平凡之人在面对胜负关键时,总需要找寻某种倚靠,但,在比赛中乃是孤独的,无法倚靠任何人,那么,该倚靠什么呢?我想,只有自己曾经努力过的事实。《放学后》
来源:CATIA模具设计应用
理论科普
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2023-09-29
最近编辑:1年前
恒拱
硕士 签名征集中
获赞 23粉丝 46文章 639课程 1
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈