当前位置: 首页 > news >正文

b2b网站推广排名2023年7 8月十大新闻

b2b网站推广排名,2023年7 8月十大新闻,手机网站的特效,二级域名分发网站文章目录 问题描述async什么是 asyncasync 的作用async 的应用场景async 优点 await什么是 awaitawait 的作用await 的应用场景await 的优点async和 await结合使用 结束语 大家好!又到了愉快的周末假期,今天是2023年9月3日|农历七月十九,我最…

文章目录

  • 问题描述
  • async
    • 什么是 async
    • async 的作用
    • async 的应用场景
    • async 优点
  • await
    • 什么是 await
    • await 的作用
    • await 的应用场景
    • await 的优点
    • async和 await结合使用
  • 结束语

大家好!又到了愉快的周末假期,今天是2023年9月3日|农历七月十九,我最近还是比较忙的,但是觉得每一天过得也比较充实,无论在工作中遇到的技术难点,还是在生活中的点点滴滴。

本篇博文是我发布的第100篇文章,在上周收获了第一批粉丝(〃‘▽’〃),这次主要是来说一下在项目实战中如何处理异步之间的函数调用,下面以文字解答+源码的方式一一分享给大家。

问题描述

本次异步调用实现方式我是运用到了微信小程序中,我有两个函数,举例说一下:函数A和函数B,函数A去调用数据库返回id,然后函数B拿着这个id再次去查询数据,没使用异步之前我的做法是在onLoad或onShow中,先调用函数A,在调佣函数B,我发现了一个问题,函数A中id打印出来时null,而且是在调用完函数B之后才打印出来的,这明显不符合我的应用场景,我的应用场景是必须在调用函数B之前把id查询到,因为id是作为函数B查询数据库的查询条件,后来我采用asyncawait 进行解决的,具体解决思路如下:

async

先来简答了解一下async.

什么是 async

async是一个关键字,用于定义异步函数.

async 的作用

简化异步编程.

async 的应用场景

  1. 异步操作:当有需要处理异步操作的时候,如异步请求、文件读写等。
  2. 顺序控制:当需要按照一定的顺序执行多个异步操作时,可以使用await关键字确保异步操作的顺序性,避免回调地狱和复杂的Promise链式调用。
  3. 错误处理:async/await结合try/catch语句可以更方便地处理异步操作中的错误,使错误处理代码更加清晰和直观。

async 优点

  1. 简化了异步编程,并提供了更直观、更易于理解和编写的方式来处理异步操作。
  2. 适用于需要处理异步操作的场景,以及对代码的简洁性、可读性和可维护性有要求的场景下。

await

先来简答了解一下await .

什么是 await

await 是一个操作符,用于等待一个Promise对象的解决(resolved),并暂停当前异步函数的执行直到Promise对象被解决并返回解决值

await 的作用

使异步操作的代码看起来更像是同步的.

await 的应用场景

使用await时,它会暂停当前函数的执行,直到等待的Promise对象被解决。一旦Promise对象被解决,await表达式将返回Promise对象的解决值,并继续执行后面的代码

await 的优点

  1. 顺序控制:await关键字可以确保异步操作按照预期的顺序执行当一个异步操作需要依赖于另一个异步操作的结果时,可以用await等待前一个操作完成,然后进行后续操作。这样可以避免回调地狱和嵌套的.then()方法调用。
  2. 简化异步代码:await关键字使异步代码更易于理解和编写,尤其是在处理多个异步操作时。它可以使异步代码的结构更加线性,类似于同步代码,从而提高代码的可读性和可维护性。

async和 await结合使用

修改前
onShow():页面加载渲染时,调用此函数.

onShow() {this.loaddata();// 相当于我前面举例说明的函数Athis.getguardfamilyList();// 相当于我前面举例说明的函数B
}

loaddata() 函数,在调用getguardfamilyList()之前我输出来的this.modelvalue.idundefined,后端是有值的,调用完getguardfamilyList()之后才有值。

loaddata(){get('后端接口地址',{id:uni.getStorageSync('values').id}).then(res=>{this.modelvalue = res.resultconsole.log("this.modelvalue.id==============>",this.modelvalue.id)})
},

我在getguardfamilyList()中输出的modelvalue.idundefined.

getguardfamilyList() {let modelvalue=this.modelvalueconsole.log("modelvalue.id========>",modelvalue.id)get('后端接口地址',model).then((res) => {if (res.success) {this.shouhuquanjia = res.result}}})
},

修改后
在调用loaddata()的函数中添加async ,将onShow()定义为异步函数.

async onShow() {await this.loaddata();// 相当于我前面举例说明的函数Athis.getguardfamilyList();// 相当于我前面举例说明的函数B
}

在loaddata()函数前面加上async 关键字,定义为异步函数,并在get函数中添加await关键字,表示我在执行get查询数据库时,暂停其它函数执行,直到后端返回结果后,再接着往下执行,我原来的执行逻辑是在loaddata()去请求后端时,结果还没有返回,getguardfamilyList()就已经被执行了.

async loaddata(){await get('后端接口地址',{id:uni.getStorageSync('values').id}).then(res=>{this.modelvalue = res.resultconsole.log("this.modelvalue.id==============>",this.modelvalue.id)})
},

结束语

这就是我遇到的问题及解决方案,希望本篇博文可以解决你遇到的问题,如果有不明白的博主,或者你也遇到了类似的问题,私信我,我会一一为你进行解答,不收取任何费用,欢迎打扰哦~

http://www.zhongyajixie.com/news/25152.html

相关文章:

  • 宿州哪家做网站好百度人工电话多少号
  • 怎么做网页htmlseo优化技术厂家
  • 网站线框图怎么做网页模板之家
  • 网站做加qq群链接地址百度电脑版官网下载
  • 非盈利网站建设问题广告公司推广平台
  • 注册了域名之后如何建立一个网站补肾壮阳吃什么药效果好
  • 织梦网站为什么容易被注入私人网站服务器
  • 唐山网站建设公司长春seo网站管理
  • 本地网站建设开发信息大全电商培训班
  • 网站还在建设中av360搜图片识图
  • 专业做曝光引流网站东莞seo快速排名
  • 网站报价内容南京百度推广
  • 做网站运营这工作怎么样购物网站如何推广
  • 用源码做自己的网站济源新站seo关键词排名推广
  • 五金商城网站建设注意百度快照是什么意思?
  • 网站建设数据库实训体会小红书外链管家
  • 电商网站建设新闻加盟教育培训机构
  • 网站建设 计入哪个科目b站软件推广大全
  • gta5买资产网站在建设太原seo
  • 搜索引擎搜不到网站优化网站seo公司
  • 电子商务网站建设方案书的总结百度极速版app下载
  • 专业pc网站建设网站建设公司是怎么找客户
  • 北京最新防控疫情公告谷歌排名网站优化
  • 广州建设公司2023网站seo
  • 昆山网站建设公司手机游戏性能优化软件
  • 易联网站制作衡阳seo外包
  • 渭南网站建设wifi关键词查询工具软件
  • 网站建设构造学习网站要怎么创建
  • 专门做玉的网站挖掘关键词爱站网
  • 牙科医院网站推广方案女教师网课入侵录屏冫