我正在与第三方 JavaScript 库进行交互,其中一些函数调用是异步的。与其将异步逻辑应用到我的应用程序中,我更愿意为这些异步调用编写同步包装器。我知道,我知道,这是一个糟糕的设计,但这是一个很有可能被完全重写的演示项目。我需要一些东西来向团队展示这个概念,而不必担心性能。
这就是我想做的:
function sync_call(input) {
var value;
// Assume the async call always succeed
async_call(input, function(result) {value = result;} );
return value;
}
我尝试了 jQuery 的 deferred 和 promise,但它似乎针对的是异步设计模式。我想在我的代码中使用同步模式。