假设第三方 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/