请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

异步进行查询和保存操作问题

图片描述异步操作是不等待本次查询结果,就继续向下执行。如果一个调用方法中有多个异步方法,下一个异步方法的执行需要 上一个异步方法数据库查询验证成功才可以继续执行。会不会出现上一个方法验证失败了, 而保存操作已经执行的情况。例如我图片标红的部分,查询和保存。
请老师帮忙解答下,异步小白,这里实在想不明白

正在回答 回答被采纳积分+3

1回答

阿莱克斯刘 2021-06-25 02:46:50

在标识了async关键词的异步函数中使用await以后,代码执行到await所对应的语句的时候就会停止下来,直到这句话执行结束才会继续后面的内容,所以async await配合使用的时候“所见即所得”,顺序一定是从上倒下的顺序进行的。

也就是说在你的代码中会执行101行,然后代码就停在这儿了,知道数据库操作结束,然后再根据数据库返回情况去执行103行或者106行。

所以只要使用了async+await以后,你的担心就没必要了,这么处理的好处是,我们可以严格保证代码的执行顺序,整个代码结构更加自然、更符合正常思维逻辑,而且也更容易调试。


0 回复 有任何疑惑可以回复我~
  • 提问者 慕仔7555223 #1
    你的意思是:代码执行到101行时会等待数据库返回结果,才会再向下继续执行,执行到106行也会等待数据库返回结果,再继续执行到112行的保存方法。在我看来(代码执行到await所对应的语句的时候就会停止下来,直到这句话执行结束才会继续后面的内容)这个和同步方法执行过程看来是一样的呀。
    请问老师,他们实际上的区别在哪里啊?
    回复 有任何疑惑可以回复我~ 2021-06-25 22:05:27
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信