Có ai có thể giúp tôi với mã này không? Tôi cần phải trả lại một giá trị tạo thành một chức năng routeToRoom:trả lại kết quả từ một hàm (javascript, nodejs)
var sys = require('sys');
function routeToRoom(userId, passw) {
var roomId = 0;
var nStore = require('nstore/lib/nstore').extend(require('nstore/lib/nstore/query')());
var users = nStore.new('data/users.db', function() {
users.find({
user: userId,
pass: passw
}, (function (err, results) {
if (err) {
roomId = -1;
} else {
roomId = results.creationix.room;
}
}));
});
return roomId;
}
sys.puts(routeToRoom("alex", "123"));
Nhưng tôi nhận được luôn: 0
Tôi đoán return roomId;
được thực hiện trước roomId=results.creationix.room
. Ai đó có thể giúp tôi với mã này?
cảm ơn bạn đã trả lời, Andrzej! Liên kết http://metaduck.com/post/2675027550/asynchronous-iteration-patterns-in-node-js không hoạt động, bạn có nguồn khác không? Cảm ơn! – profesoralex
Tôi vừa định dạng lại câu hỏi của bạn; Simone cung cấp câu trả lời này (bạn có thể nói từ tên bên phải, ngay trên những bình luận này). –
lạ, nó hoạt động ở đây .. tuy nhiên, tìm kiếm trên google cho "các mẫu không đồng bộ nodejs", bạn sẽ tìm thấy một số bài viết. –