0

所以,问题在于我认为的 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。你能告诉我如何使用异步等待,或者任何其他方式,我的函数首先分配对象它的数据,然后返回数据。

4

1 回答 1

0

我们,可以在我们使用 await 的地方进行响应,然后推送数据。这样它就可以工作了。

于 2021-08-31T04:35:17.790 回答