Ho una funzione semplificata che assomiglia a questa:
function(query) {
myApi.exec('SomeCommand', function(response) {
return response;
});
}
Fondamentalmente voglio che chiami myApi.exec
e restituisca la risposta che è data nel callback lambda. Tuttavia, il codice sopra non funziona e restituisce semplicemente immediatamente.
Solo per un tentativo molto hacker, ho provato il seguito che non ha funzionato, ma almeno hai l'idea di cosa sto cercando di ottenere:
function(query) {
var r;
myApi.exec('SomeCommand', function(response) {
r = response;
});
while (!r) {}
return r;
}
Fondamentalmente, qual è un buon modo 'node.js / event driven' per farlo? Voglio che la mia funzione attenda fino a quando non viene chiamato il callback, quindi restituisce il valore che gli è stato passato.