我是JS的新手,他试图了解异步回调的工作方式以及如何正确使用它们,但是却遇到了一些困惑。因此,据我了解,异步回调仅在其他代码完成执行之后才执行,也就是说,如果我们向服务器发送请求,并且我们不知道何时获取数据,则需要使用异步回调来确保回调函数只有在获取数据后才执行。但是令我困惑的是,为什么我们在回调之前使用异步,因为异步是通过事件循环运行的,但是回调要等到其他代码完成并且异步回调不会通过事件循环运行,对吗?
答案 0 :(得分:-1)
异步回调在JS中提供了一些保证,我的意思是,尽管一段代码可能相对于该代码中的主代码异步运行,但必须存在一定顺序,因此JS将阻止任何回调函数从事件循环当前运行完成之前执行。因此,这将防止在实现诺言之前执行任何回调,从而确保执行的逻辑流程。
您可以查看以下资源以获取更多信息:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/EventLoop#Run-to-completion https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Using_promises