Firebase管理员:列出所有用户返回的空数组

时间:2018-07-08 09:58:20

标签: node.js firebase-authentication google-cloud-functions firebase-admin

我有一个https可调用的firebase云函数,以将所有用户作为其userRecords数组返回。我将每个userRecords推入一个数组,稍后返回,但它返回一个空数组。

如何将这个数组返回给客户端?

index.js:

exports.listAllUsers = functions.https.onCall((data, context) => {
  // List all users

  return listAllUsers();
});

function listAllUsers(nextPageToken) {
  // List batch of users, 1000 at a time.
  var allUsers = [];

  return admin.auth().listUsers(1000, nextPageToken)
    .then(function (listUsersResult) {
      listUsersResult.users.forEach(function (userRecord) {
        // For each user
        var userData = userRecord.toJSON();
        allUsers.push(userData);
      });
      if (listUsersResult.pageToken) {
        // List next batch of users.
        console.log('Next batch of users');

        return listAllUsers(listUsersResult.pageToken)
      }
      else {
        // All users have been fetched
        console.log('All users have been fetched');

        return allUsers
      }
    })
    .catch(function (error) {
      console.log("Error listing users:", error);
    });

}

客户端

const listAllUsers = this.afFunctions.httpsCallable('listAllUsers');
    listAllUsers({}).toPromise()
      .then(function (result) {
        console.log(result);
      });
  }

Empty array is returned

0 个答案:

没有答案