await/async无法捕获与处理错误信息的解决方案分享

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

await/async无法捕获与处理错误信息的解决方案分享

工边页字   2023-02-03 我要评论

前言

如果你对同步任务/异步任务/回到地狱/promise概念/async-await的作用不是很了解的话,或许需要看一下以下简单的介绍。

如果都了解则可以直接点击侧边栏跳到下面看await无法处理错误信息的解决方案。

同步和异步

javascript是一个单线程的语言。因为是单线程。所以这直接导致了线程阻塞的问题,在前一个任务完成以前,后面所有的任务都无法执行。因为这个问题。所以javascript有了异步任务的概念。

javascript把其中的任务分为两部分,一种是同步任务,一种是异步任务,一些可能造成阻塞的任务归为异步任务,并将异步任务放到所有的同步任务之后去执行,以解决阻塞问题。

常见的异步任务有

  • settimeout/setInterval
  • Promise的then函数
  • XMLHttpRequest(http请求也就是ajax)

异步任务解决了执行堵塞的问题,同时也存在一些问题(如下)。

异步任务所存在的问题

异步任务需要回调来处理任务结束以后的一些动作。在一些特殊场景下,有些异步任务需要依赖于其他异步任务的回调。这就需要将需要依赖的异步任务写到被依赖的异步任务的回调中。

这是一种解决依赖异步依赖的方案,虽然可行,但不可读。 总会出现依赖层级较多的情况,大量的层级会让这个功能变得非常晦涩。可读性极差。如下

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们