我正在尝试在 javascript 中使用 async await 编写一个异步寻路函数

I'm trying to write an asynchronous pathfinding function using async await in javascript

我正在测试它是否有效,运行 while 循环的函数将阻止代码,即使它在我正在等待的异步函数中也是如此。如何在不冻结我的网页的情况下进行寻路之类的操作?

工作让主 JS 事件循环忙碌。

您无法通过使用承诺或 asyncawait 工具来解决这个问题。它们是管理异步代码的工具,它们不会使代码异步。

您可以采用的一些策略是:

  • 将工作从主事件循环中转移到 Web Worker
  • 使用 setTimeout 触发处理块 +1 的块以块的形式执行工作,以引入延迟,在此期间主事件循环可以接管其他正在等待它的工作。