所以,问题在于我认为的 javascript 基础知识。
'use strict';
module.exports = function accountWithSingleOrganisation(Account) {
Account.accountWithSingleOrganisation = function(accessToken, cb) {
accessToken.user(function(err, user) {
if (err) return cb(err);
let accData = {};
user.role(async (err, role) => {
if (err) return cb(err);
for (let it in role.scopes) {
if (role.scopes[it].account == null) break;
console.log('1');
await Account.findById(role.scopes[it].account, (err, account) => {
if (err) return cb(err);
console.log('2');
// Assigning Data Here
accData = Object.assign(accData, {
name: account.name,
id: account.id,
});
});
};
console.log(accData);
return cb(null, accData);
});
});
};
};
在我的程序中,我不知道如何async await
正确使用,因此执行了 for 循环,并且函数甚至在分配数据之前就返回了 accData。你能告诉我如何使用异步等待,或者任何其他方式,我的函数首先分配对象它的数据,然后返回数据。