没什么好听名字 2021-12-29 09:32 采纳率: 68.4%
浏览 414
已结题

js 为什么用了async/await 页面还是会卡主

刚学了 async 和await 都说是为了解决比较耗时操作时防止页面卡死的异步方法。

可是我测试了一下,为什么页面还是会卡死,是我的用法不对么?

JS代码:

img

执行结果:

img

打印 "begin" 是立马出现的,但是打印 "end"是2秒后才出现,而且这2秒期间页面也是 “卡死” 状态。
所以我加了 async 好像跟没加的效果是一样的。

我的期望是:
执行后 begin 和 end 会立马出现,而 "完成" 会等待执行结束后出现,并且页面不会 卡死。

这个要如何解决呢?

  • 写回答

4条回答 默认 最新

  • 几何心凉 2022年度博客之星前端领域TOP 1 2021-12-29 10:31
    关注

    题主你好,你的用法没有任何问题,async await 是promise的语法糖,他的作用并不是为了防止页面卡死,他的作用是为了让异步变成同步的感觉,像我们的setEdit函数中触发setEditRow函数,按说setEditRow函数两秒后才执行完成 而congsole a应该先执行,但是因为我们加入了async await 所以 console.log(a)会等到setEditRow执行完成后进行执行

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 1月6日
  • 已采纳回答 12月29日
  • 创建了问题 12月29日

悬赏问题

  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题
  • ¥15 linux驱动,linux应用,多线程