javascript - 在Javascript中,一般来说,如何使异步函数同步?

标签 javascript asynchronous io request synchronization

假设第三方 javascript(不是 NodeJS)模块中有这样的函数:

Api.IoAsync(parameter, function(err, message) {
...
})

我想将其转换为同步版本,如下所示:

Api.IoSync(parameter)

它将一直阻塞直到完成,如果成功则返回值为message,否则err

有没有一种通用且简单的方法可以做到这一点?

最佳答案

您无法使异步函数在 Javascript 中同步运行。这个问题已经被问过很多次了。它无法在 JavaScript 中完成。

如果底层函数是异步的,那么您将必须编写异步响应回调并以这种方式使用异步函数的结果。没有解决方法。

了解如何使用异步回调进行编码并继续前进。 Promise 可以让您更轻松地排序和链接异步操作,从而简化异步函数的使用,但它们仍然使用回调来处理结果。

关于javascript - 在Javascript中,一般来说,如何使异步函数同步?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30296090/

相关文章:

java - file.mkdirs() 不起作用

c# - 如何在 .NET 中正确读取串行端口

javascript - 选择特定 href 的第一个实例

javascript - 如何阻止 chrome 减慢控制台/扩展发送的请求?

javascript - 如何将 Hotjar 代码插入 Laravel 项目?

performance - Tornado AsyncHTTPClient 请求在中等负载下超时

javascript - 有没有办法像 alert() 函数那样在 JavaScript 中强制执行同步行为?

android - 将 ImageView 保存到 Android Emulator Gallery

javascript - formvalidation.io 外部提交按钮

javascript - 无法使用异步 waterfall 运行 parse-csv 函数