【发布时间】:2018-08-09 21:46:23
【问题描述】:
我有一个 API,我对其进行了调整,可以对我的数据库进行 2 次调用并下拉信息。我可以在控制台日志中看到结果,所以我知道它正在工作
下一部分是渲染视图时,我需要在两个地方显示结果
这是对数据库进行 2 次调用的 API 代码
function apples(req, res, next) {
sql.connect(config, function () {
var request = new sql.Request();
request.query("select price from table WHERE fruit = 'apples'", function(err, recordsetapples) {
var arrayLength = recordsetapples.length;
for (var i = 0; i < arrayLength; i++) {
console.log(recordsetapples[i]["price"]);
};
res.render('index', { resultsapples: recordsetapples });
return next();
});
});
};
function pear(req, res, next) {
sql.connect(config, function () {
var request = new sql.Request();
request.query("select price from table WHERE fruit = 'pear'", function(err, recordsetpear) {
var arrayLength = recordsetpear.length;
for (var i = 0; i < arrayLength; i++) {
console.log(recordsetpear[i]["price"]);
};
res.render('index', { resultspear: recordsetpear });
next();
});
});
};
app.get('/fruit', apples, pear);
所以在运行之后我可以在控制台日志中看到价格打印.. 然后我看到这个错误
Cannot read property 'length' of undefined
如果价格出现,我希望看到什么...要获取该信息,我有此代码
tr
th.hidden-phone Fruit
th.hidden-phone Price
tr
each val in resultsapples
td.hidden-phone Apples
td.hidden-phone !{val.price}
tr
each val in resultspear
td.hidden-phone Pears
td.hidden-phone !{val.price}
【问题讨论】:
-
虽然与您的问题没有明确相关,但您不会在 sql 代码中检查错误对象。您应该更新它以确保没有错误并使用回调等来确定是否有错误
标签: node.js function api for-loop pug