Mam uproszczoną funkcję, która wygląda następująco:
function(query) {
myApi.exec('SomeCommand', function(response) {
return response;
});
}
Zasadniczo chcę, aby zadzwonił myApi.exec
i zwrócił odpowiedź podaną w wywołaniu zwrotnym lambda. Jednak powyższy kod nie działa i po prostu zwraca natychmiast.
Tylko dla bardzo hackerskiej próby wypróbowałem poniższe, które nie działały, ale przynajmniej masz pojęcie, co próbuję osiągnąć:
function(query) {
var r;
myApi.exec('SomeCommand', function(response) {
r = response;
});
while (!r) {}
return r;
}
Zasadniczo, co jest dobrym sposobem na osiągnięcie tego? Chcę, aby moja funkcja czekała na wywołanie wywołania zwrotnego, a następnie zwraca wartość, która została do niej przekazana.