私はこの非同期機能を持っているとしましょう:
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.
問題は、内部の非同期 API 呼び出しが終了する前に javascript が返されるため、foo が未定義になることです。そのためにコールバックを使用できることはわかっていますが、非同期関数を「ロック」して、結果が得られたときにのみ再開する方法を探しています。そうすれば、非同期呼び出しの後にすべてのコードをコールバックとして渡す必要がなくなります。
短くするために-通常の同期方法で非同期ajax呼び出し(私の場合はGoogleマップAPIを呼び出します)から値を返すにはどうすればよいですか?