我正在尝试在 javascript 中使用 async await 编写一个异步寻路函数
I'm trying to write an asynchronous pathfinding function using async await in javascript
我正在测试它是否有效,运行 while 循环的函数将阻止代码,即使它在我正在等待的异步函数中也是如此。如何在不冻结我的网页的情况下进行寻路之类的操作?
做工作让主 JS 事件循环忙碌。
您无法通过使用承诺或 async
和 await
工具来解决这个问题。它们是管理异步代码的工具,它们不会使代码异步。
您可以采用的一些策略是:
- 将工作从主事件循环中转移到 Web Worker。
- 使用
setTimeout
触发处理块 +1 的块以块的形式执行工作,以引入延迟,在此期间主事件循环可以接管其他正在等待它的工作。
我正在测试它是否有效,运行 while 循环的函数将阻止代码,即使它在我正在等待的异步函数中也是如此。如何在不冻结我的网页的情况下进行寻路之类的操作?
做工作让主 JS 事件循环忙碌。
您无法通过使用承诺或 async
和 await
工具来解决这个问题。它们是管理异步代码的工具,它们不会使代码异步。
您可以采用的一些策略是:
- 将工作从主事件循环中转移到 Web Worker。
- 使用
setTimeout
触发处理块 +1 的块以块的形式执行工作,以引入延迟,在此期间主事件循环可以接管其他正在等待它的工作。