Tôi có một chức năng đơn giản hóa trông như thế này:
function(query) {
myApi.exec('SomeCommand', function(response) {
return response;
});
}
Về cơ bản tôi muốn nó gọi myApi.exec
và trả về phản hồi được đưa ra trong lambda gọi lại. Tuy nhiên, đoạn mã trên không hoạt động và chỉ cần trả về ngay lập tức.
Chỉ với một nỗ lực rất hóc búa, tôi đã thử những cách dưới đây không hiệu quả, nhưng ít nhất bạn cũng hiểu được những gì tôi đang cố gắng đạt được:
function(query) {
var r;
myApi.exec('SomeCommand', function(response) {
r = response;
});
while (!r) {}
return r;
}
Về cơ bản, cách tốt nhất "node.js / hướng sự kiện" sẽ diễn ra như thế nào? Tôi muốn chức năng của mình đợi cho đến khi gọi lại được gọi, sau đó trả về giá trị được truyền cho nó.