【发布时间】:2016-06-24 19:31:22
【问题描述】:
我是node.js的新手,我以为我开始了解异步函数,但是这段代码让我觉得我无论如何都没有正确理解它。
我正在准备用 mongoose 插入 mongoDB,要插入的对象是 post。让我感到奇怪的是,post.kunde 或 post.leverandor 并不总是设置在插入之前。
我以为只要没有异步函数,代码就应该一行行执行。
function create_post(account, dato, fakturanummer, bilag, bilagstype, supplier, customer,
descr, moms, amount, saldo, comId ) {
return new Promise(function(resolve, reject) {
var post = new Posteringer;
post.konto = account;
post.dato = dato;
post.fakturanummer = fakturanummer;
post.bilag = bilag;
post.bilagstype = bilagstype;
if (Object.keys(supplier).length) {
post.leverandor = supplier;
}
if (Object.keys(customer).length) {
post.kunde = customer;
}
post.tekst = descr;
post.moms = moms;
post.belob = amount;
post.saldo = saldo;
post.companyId = comId;
var promise = Accounts.findSingle(comId, account).exec();
promise.then(function(acc) {
post.navn = acc.Navn;
console.log(post);
post.save(function(err) {
if (err) {console.log(err.message);}
resolve(true);
});
});
});
}
【问题讨论】:
-
你想做什么?在我看来,您正在尝试查找和编辑。对吗?
标签: node.js mongodb asynchronous mongoose