Eu tenho uma função simplificada que se parece com isso:
function(query) {
myApi.exec('SomeCommand', function(response) {
return response;
});
}
Basicamente, eu quero chamar myApi.exec
, e retornar a resposta que é dada no lambda de retorno de chamada. No entanto, o código acima não funciona e simplesmente retorna imediatamente.
Apenas por uma tentativa muito tola, tentei o abaixo que não funcionou, mas pelo menos você entendeu o que estou tentando alcançar:
function(query) {
var r;
myApi.exec('SomeCommand', function(response) {
r = response;
});
while (!r) {}
return r;
}
Basicamente, qual é uma boa maneira 'node.js / event driven' de fazer isso? Quero que minha função aguarde até que o retorno de chamada seja chamado e retorne o valor que foi passado para ele.