【发布时间】:2017-07-30 19:33:04
【问题描述】:
在这种情况下,我执行了一个函数 (getAvailableLabs) 之后 - 我想执行一个回调或一个 Promise。我不确定我应该执行哪个,但是我不能让任何一个工作。
路线:
router.get('/api/content_left', function(req, res, next){
const Labs = require("../models/Labs.js");
l = new Labs("Sample Lab", "Sample Description", "Sample Category", "Sample Tech");
l.getAvailableLabs(function(){
console.log("We made it here!");
});
console.log("This is post resposnse");
Labs.js:
getAvailableLabs() {
var d = db.any('select * from labs')
.then(data => {
console.log(data[0]);
return data
})
.catch(function (error) {
console.log(error + " - Error in function");
return error;
});
}
在上述情况下,它会记录“可用实验室结束”,然后是“这是回复后”。这就是我对回调的理解所期望的。但是它从不执行“我们在这里成功了!”我不明白为什么?我的印象是,如果我在函数中放置一个函数 - 它将作为回调执行,但这不会发生。我需要返回特定的方式来执行回调吗?
感谢您的帮助。
【问题讨论】:
-
你将回调与承诺混合在一起......
标签: javascript node.js callback