【发布时间】:2018-03-09 17:31:17
【问题描述】:
尝试做一个简单的休息服务。其余服务用于从本地数据库中提取表。想要为安卓应用提供这个休息服务。
无法通过。然后阻止。尝试捕捉错误但没有成功。如果在第一个.then 中出错,您如何捕获错误 下面这段代码是 db.js,并建立了与数据库的连接。
var sqlDb = require("mysql");
var settings = require("../settings");
exports.executeSql = function (sql, callback) {
var conn = new sqlDb.createConnection(settings.dbConfig);
conn.connect()
// !! Error unhandled
.then(function () {
var req = new sqlDb.Request(conn);
req.query(sql)
.then(function (recordset) {
callback(recordset);
})
.catch(function (err) {
console.log(err);
callback(null, err);
});
})
.catch(function (err) {
console.log(err);
callback(null, err);
});
};
在建立连接后,下面的代码被执行。带错误处理。
var db = require("../core/db");
exports.getList = function (req, resp) {
db.executeSql("SELECT * FROM employees", function (data, err) {
if (err) {
// throws back error to web
resp.writeHead(500, "Internal Error", { "Content-Type":
"application/json" });
resp.write(JSON.stringify({ data: "ERROR occurred:" + err }));
} else {
resp.writeHead(200, { "Content-Type": "application/json" });
resp.write(JSON.stringify(data));
}
resp.end();
});
};
为数据库等设置制作了一个单独的js文件。以相同的方式测试了我与数据库的连接。排除了该问题,但它在第一个 .then 上一直返回未处理的错误。我到现在都不熟悉方法。
我想我找到了问题所在。新的 sqlDb.Request(conn); .Request 在使用 mysql 时不可用。但是我该如何解决这个问题
【问题讨论】:
标签: mysql node.js rest api methods