Saya memiliki fungsi sederhana yang terlihat seperti ini:
function(query) {
myApi.exec('SomeCommand', function(response) {
return response;
});
}
Pada dasarnya saya ingin menelepon myApi.exec
, dan mengembalikan respons yang diberikan dalam lambda callback. Namun, kode di atas tidak berfungsi dan langsung kembali segera.
Hanya untuk upaya yang sangat kejam, saya mencoba di bawah ini yang tidak berhasil, tetapi setidaknya Anda mendapatkan ide apa yang saya coba capai:
function(query) {
var r;
myApi.exec('SomeCommand', function(response) {
r = response;
});
while (!r) {}
return r;
}
Pada dasarnya, apa yang baik dari 'node.js / event driven' dalam hal ini? Saya ingin fungsi saya menunggu sampai panggilan balik dipanggil, lalu mengembalikan nilai yang diteruskan ke sana.