假设我有这个异步功能:
function fooAsync(){
callSomeApi(some_args, callbackFunction(results){
return results; //i want to return the results here after the api call.
}
}
我正在寻找一种将 prev 函数的返回值分配给 var 的方法,并且只有当我有这个值时才继续使用代码。
//some code here
var foo = fooAsync();
//some code here after getting back from the async function.
问题是 foo 将是未定义的,因为 javascript 将在内部异步 api 调用完成之前返回。我知道我可以为此使用回调,但我正在寻找一种方法来“锁定”异步函数并仅在它得到结果时恢复。这样我就不必在异步调用之后将所有代码作为回调传递。
简而言之 - 我如何以常规同步方式从异步 ajax 调用(在我的情况下我调用 google maps api)返回值?