我的回调函数有点问题。代码流如下所示:
//index.js
console.log(dscAPI.queryDB(dscDB, 'recent'));
和功能
function getRecent(dscDB, callback) {
const query = 'year=' + new Date().getFullYear();;
const params = {
type: 'master',
per_page: '10'
}
dscDB.search(query, params)
.then(function(data) {
callback(data.results);
})
.catch((err) => console.log(err));
}
function returnRecent(data) {
console.log(data); //returns desired output
return data; //returns undefined
}
module.exports = {
queryDB: function(dscDB) {
getRecent(dscDB, returnRecent);
}
}
问题是:即使在console.log()之前,回调也返回未定义的内容。我一直在尝试使用async / await使其等待值,但似乎无法做到这一点。我读了这篇文章:https://github.com/maxogden/art-of-node#callbacks,并且以类似的方式构造了代码,但无济于事。 也许您有任何想法我应该如何处理?