0
我有这个代码的问题如何使用Node.js承诺不执行使用链接承诺Node.js的
显然没有被执行以下承诺:
return bloguers.replaceOne({id: bloguer.id}, bloguer,{upsert:true}, function (err){
console.log(err);
res.status(400).end();
});
这里的其余功能:
.post(function (req,res){
var bloguers = db.collection('bloguers');
var bloguer = req.body;
console.log(bloguer.id);
bloguers.findOne({id: bloguer.id}).then(function (respon){
if(respon != null){
console.log('dentro if');
return bloguers.replaceOne({id: bloguer.id}, bloguer,{upsert:true}, function (err){
console.log(err);
res.status(400).end();
});
}
else{
return bloguers.insertOne(bloguer).then(function (r){
}, function (err) {
console.log(err);
res.status(400).end();
});
}
}).then(function(r){
res.json(r);
})
});
您可以看到console.log('dentro if')被执行,但承诺不是。
事实上,我使用的是MongoDB驱动程序,它确实会返回一个承诺。然而,我试过你的代码,但仍然诺言是正在执行的笔记(试图把一个控制台日志里面.then()。 – LucasMesquita