gpt4 book ai didi

javascript - 如何在使用nodejs运行sql查询后返回一个函数

转载 作者:行者123 更新时间:2023-12-01 03:54:58 25 4
gpt4 key购买 nike

我得到了以下nodejs代码片段。它最终挂起并且不会返回。最后我想根据状态获取、插入和删除用户。如果该函数没有返回,我就不能这样做。我只是给出这个输出。

[ { UserName: 'user4',
LoggedStatus: 'avail',
UserPass: 'demo',
UserType: 'gen' },
{ UserName: 'user3',
LoggedStatus: 'avail',
UserPass: 'demo',
UserType: 'gen' },
{ UserName: 'user2',
LoggedStatus: 'avail',
UserPass: 'demo',
UserType: 'gen' },
{ UserName: 'user1',
LoggedStatus: 'used',
UserPass: 'demo',
UserType: 'gen' } ]

......(卡在这里)......

A) 如何让函数 getAllRecords() 返回并结束程序?B) 从数据库返回特定行或特定值。

var fs = require("fs");
var sql = require("mssql");

var config = {
"server": "localhost",
"user": "xxxx",
"password": "xxxx",
"database": "dbTA",
"port": 1433
};


function getAllRecords(config) {
sql.connect(config).then(function() {
// Query
new sql.Request().query('select * from USERSTATUS').then(function(recordset) {
console.log(recordset);
}).catch(function(err) {
console.log("Error1", err);
});
}).catch(function(err) {
console.log("Error2", err);
});
}

getAllRecords(config);

最佳答案

使用 .then() 解包 Promise,并且 .then() 中返回的任何内容都将被包装在 Promise 中,从而允许您将它们链接在一起。

让我们添加一些返回值并从查询中获取值。

var config = {  
"server": "localhost",
"user": "xxxx",
"password": "xxxx",
"database": "dbTA",
"port": 1433
};

function getAllRecords(configuration) {
// return the entire chain of promises
return sql.connect(configuration)
.then(function() {
// return this query so we can have access to its value
return new sql.Request().query('select * from USERSTATUS');
.catch(function(err) {
console.log("Error1", err);
});
}).catch(function(err) {
console.log("Error2", err);
});
}

// since we're returning a promise we have to consume it using a `.then()`
getAllRecords(config).then(function(value) {
console.log(value);
});

关于javascript - 如何在使用nodejs运行sql查询后返回一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42841798/

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