问题描述
node sdk 怎么获取全部用户列表? 我尝试使用
const result = await managementClient.listUsers({
page,
limit
})
这个 listUsers 方法去获取用户列表,有这样两个问题:
- limit 似乎不影响响应结果,始终是 10.
- 我尝试使用循环递增page 参数,但是返回的数据一直重复,始终是第一页的数据。
let page = 1
const limit = 10
let allUsers = []
let totalCount = 0
let hasMore = true
do {
console.log('page', page)
console.log('limit', limit)
const result = await managementClient.listUsers({
page,
limit
})
const { list, totalCount: total } = result.data
allUsers = allUsers.concat(list)
totalCount = total
console.log(`已获取第 ${page} 页,当前共 ${allUsers.length}/${totalCount} 个用户`)
// 判断是否还有更多数据
hasMore = allUsers.length < totalCount && list.length > 0
page++
if (hasMore) {
await new Promise((resolve) => setTimeout(resolve, 100))
}
} while (hasMore)
/**
已获取第 1 页,当前共 10/133 个用户
已获取第 2 页,当前共 20/133 个用户
已获取第 3 页,当前共 30/133 个用户
已获取第 4 页,当前共 40/133 个用户
已获取第 5 页,当前共 50/133 个用户
已获取第 6 页,当前共 60/133 个用户
已获取第 7 页,当前共 70/133 个用户
已获取第 8 页,当前共 80/133 个用户
已获取第 9 页,当前共 90/133 个用户
已获取第 10 页,当前共 100/133 个用户
已获取第 11 页,当前共 110/133 个用户
已获取第 12 页,当前共 120/133 个用户
已获取第 13 页,当前共 130/133 个用户
已获取第 14 页,当前共 140/133 个用户
*/
响应结果重复,始终是第一页数据 l.map(i=>i.name.charAt(0))

重现步骤
附加信息
- Version:
- Platform: