gpt4 book ai didi

javascript - 如果回调存在则执行 Callback(obj) 否则返回对象

转载 作者:数据小太阳 更新时间:2023-10-29 04:01:00 25 4
gpt4 key购买 nike

我想做的是使函数的回调参数可选。如果传递了回调,则将值发送给回调函数,否则只需返回值。如果我省略回调,我将返回 undefined。

getByUsername = function(user_name, cb){
async.waterfall([
//Acquire SQL connection from pool
function(callback){
sql_pool.acquire(function(err, connection){
callback(err, connection);
});
},
//Verify credentials against database
function(connection, callback){
var sql = 'SELECT * FROM ?? WHERE ?? = ?';
var inserts = ['users','user_name', user_name];
sql = mysql.format(sql,inserts);
connection.query(sql, function(err, results) {
sql_pool.release(connection);
callback(err, results);
});
},
//Create user object
function(results, callback) {
if(results.length < 1){
if(cb){
cb(null);
} else {
return null;
}
}else {
var thisUser = new User(results[0]);
if(cb){
cb(thisUser);
} else {
return thisUser;
}
}
}], function (err, results) {
throw new Error('errrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrroooooorrrrrrrr');
}
)
}

最佳答案

你可以这样检查:

if(cb && typeof cb === "function") {
cb(num + 1);
}

注意:确保您实际使用的是 cb 来调用您的回调函数,而不是 callback ;)

关于javascript - 如果回调存在则执行 Callback(obj) 否则返回对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21010143/

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