gpt4 book ai didi

javascript - Node.js MSSQL 返回一个值

转载 作者:搜寻专家 更新时间:2023-10-31 21:24:05 25 4
gpt4 key购买 nike

我有这个代码

var sql = require('mssql');

....

function dbConnect(){       
sql.connect(config).then(function() {
return true;
}).catch(function(err) {
return false;
});

我希望函数 dbConnect 返回一个值。但是当我使用 console.log(dbConnect()); 调用它时,我得到了

undefined

有什么帮助吗?

最佳答案

dbConnect() 函数本身没有返回语句,因此不返回值,这是可以预料的。

假设您想要向调用者反馈连接是否成功,您必须记住连接到数据库的过程是异步的,因此必须使用回调(或者我猜是 promise)来完成。

如果你把你的函数改成这样:

function dbConnect(cb){       
sql.connect(config).then(function() {
cb && cb(true);
}).catch(function(err) {
cb && cb(true);
});

然后你可以这样调用它:

dbConnect(function(result) {
if (result) console.log('yay! connected');
else console.log('ohnoz! connection failed!');
});

作为替代方案,您可以使用 promise 结构,但我相信 Node 编程风格更倾向于回调函数。但是,无法使 dbConnect 函数直接返回连接状态,因为该值在函数完成时尚不可用。

关于javascript - Node.js MSSQL 返回一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40123572/

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