0
通過運行過程中出現下面的代碼,我可以看到的值我的控制檯,但我得到的迴應是空的,我thoink可能是因爲承諾....如何使用承諾在貓鼬
我的代碼,
exports.getcatlist = function(req, res) {
var params = req.params,
item = {
'status': '1',
'type': 'categories'
};
Categories.find(item,function (err, result) {
if (err) {
return
}
if (result) {
var profiles = [];
var categories_to_get = []
var categories = []
for (var i in result) {
var id = result[i]._id;console.log(id)
var id = id.toString();
categories_to_get.push(get_category(id, profiles))
}
Promise.all(categories_to_get)
.then(() => {
console.log('final vals'+categories_to_get)
res.json({status: 'success', data: profiles});
})
} //end of if loop
else {
response = {
status: 'fail',
data: []
};
}
})
function get_category(id, profiles) {
var profiles = [];
return new Promise(function (resolve, reject) {
var item = {
'categoryid' : id,
'status': '1',
'type': 'topics',
};
Categories.count(item,function (err, result) {
if (err) {
reject(err)
return
}
if (result == []) {
profiles.push(result)
resolve()
}
if (result) {
profiles.push(result)
resolve()
} else {
reject()
}
});
})
}
}
通過運行過程中出現上面的代碼中,我可以看到的價值觀在我的控制檯,但我得到的迴應是空
`{
"status": "success",
"data": []
}`
我不知道爲什麼我收到我的數據,空,任何人都可以請建議幫助...
您正在重新聲明型材'函數get_category(ID,配置文件){ VAR型材= [];'一次連連。爲了清晰起見,您應該使用解析值而不是參考。 –