我正在使用 mongo/monk 来尝试获得减少一些 CB 丑陋的承诺,但它似乎会产生更多不寻常的问题来调试(“现在你有两个问题”)。
基于: https ://gentlenode.com/journal/node-4-monk-cheatsheet/45
我有一个小例程来清除集合并插入一些数据,但是 on.complete 或 on.success 没有触发
QuizPlugin.collection.remove({}, function(err, doc) {
Clog.log("QP", "removed"); // get this
var raw = FileReader.readDataFile(jsonfile);
var that = this;
raw.records.map(item => {
var p = QuizPlugin.collection.insert(item.fields);
console.log("p.type", p.type);
p.on("success", function(doc) {
console.log("done", doc) // never
});
p.on("complete", function(doc) {
console.log("done", doc) // not this one either
});
p.on("error", function() {
console.log("error") // or this ever show up
});
// this method also doesn't emit anything
// QuizPlugin.collection.insert(item.fields, function(err, doc) {
// console.log("inserted")
// });
// Clog.log("inserted:", item.fields.question);
})
})
还有其他原因内部on("success")
没有触发吗?如果 spartan https://github.com/Automattic/monk#promises,文档看起来很清楚