gpt4 book ai didi

javascript - node.js:异步回调值

转载 作者:行者123 更新时间:2023-11-30 18:09:35 24 4
gpt4 key购买 nike

我很困惑。我很想了解如何传递我在异步函数中获得的值。

我有一个具有基本身份验证功能的模块。在登录中,我要求用户模型搜索具有给定用户名的用户。

login: function(req){
var username = req.body.username,
password = req.body.password;

user.find(username);
}

然后 User 模型继续执行此操作。

exports.find = function(username){
console.log(User.find({username: username}, function(error, users){
// I get nice results here. But how can I pass them back.
}));
}

但是我怎样才能将该用户对象传递回登录函数呢?

最佳答案

您需要将回调函数传递给该方法。 Node.js 需要非常回调驱动的编程风格。

例如:

// in your module
exports.find = function(username, callback){
User.find({username: username}, function(error, users){
callback(error, users);
});
}

// elsewhere... assume you've required the module above as module
module.find(req.params.username, function(err, username) {
console.log(username);
});

所以你不返回值;您传入函数,然后接收值(冲洗、重复)

您在 User 类上的登录方法将如下所示:

login: function(req, callback){
var username = req.body.username,
password = req.body.password;

user.find(username, function(err, user) {
// do something to check the password and log the user in
var success = true; // just as an example to demonstrate the next line
callback(success); // the request continues
};
}

关于javascript - node.js:异步回调值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14942613/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com