我在这里遵循规范,我不确定它是否允许使用多个参数调用onFulfilled.例如:
promise = new Promise(function(onFulfilled, onRejected){
onFulfilled('arg1', 'arg2');
})
Run Code Online (Sandbox Code Playgroud)
这样我的代码:
promise.then(function(arg1, arg2){
// ....
});
Run Code Online (Sandbox Code Playgroud)
会收到arg1和arg2?
我不关心任何具体的承诺如何实现它,我希望密切关注w3c规范的承诺.
Chatrooms.findOneAndUpdate({Roomname: room.Roomname},{ $setOnInsert: {status: true, userNum: 1}}, {new: true, upsert: true}, function(err, doc) {
if(err) console.log(err);
console.log("DOC " + doc)
if(doc.status) {
// FOUND ROOM SATTUS IS TRUE LOGIC
console.log(doc);
// return callback(true)
}
});
Run Code Online (Sandbox Code Playgroud)
上面的查询将返回给我更新或插入的实际文档,但我无法确切地检查它是哪一个。如果我进行更新而不是 findOneandUpdate 我会返回这个
{
ok: 1,
nModified: 0,
n: 1,
upserted: [ { index: 0, _id: 55df883dd5c3f7cda6f84c78 } ]
}
Run Code Online (Sandbox Code Playgroud)
如何从写入结果中返回文档和写入结果或至少返回插入的字段。