gpt4 book ai didi

javascript - Firebase 管理 SDK : How to use listUsers() function as Observable combining recursive calls?

转载 作者:行者123 更新时间:2023-11-28 03:29:56 25 4
gpt4 key购买 nike

如何使用 Firebase 管理 SDK listUsers()充当 RXJS 可观察者的函数?

我可以在 listUsers 上使用 from RXJS 函数返回可观察值,但挑战是 listUsers 批量返回用户。如何检索并合并这批用户?

最佳答案

Firebase 管理 SDK 函数 listUsers可以用返回 Observable 的函数包装。

然后可以使用 flatMapforkJoin 将递归函数调用合并到一个用户数组中。

import { forkJoin, from, of } from 'rxjs';
import { flatMap, map } from 'rxjs/operators';


function myListUsers(maxResults = 1000, pageToken = null) {
return from(admin.auth().listUsers(1000, pageToken));
}


function listAllUsers(nextPageToken) {
myListUsers(1000, nextPageToken).pipe(
flatMap(listUsersResult => forkJoin([
of(listUsersResult.users),
listUsersResult.pageToken ? listAllUsers(listUsersResult.pageToken) : of(null)
])),
map( ([userList1, userList2]) => [...userList1, ...userList2])
)
}


listAllUsers().subscribe(
allUsers => console.log(allUsers);
)

请注意,最后一个数组条目将为null

关于javascript - Firebase 管理 SDK : How to use listUsers() function as Observable combining recursive calls?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58267346/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com