我正在使用Firebase处理项目,并且我正在尝试获取其ID与提供的数组相交的用户。虽然这是JavaScript,但我添加了TypeScript类型,以便更容易理解。
const getUsers = (userKeys: string[]) => {
// for each ID in `userKeys`, go get that user
}
我的数据如下所示:
{
"qwertyuiop": {
"firstName": "Bob",
"lastName": "Test",
"emailAddress": "bob@test.com",
},
"asdfghjkl": {
"firstName": "Jake",
"lastName": "Alsotest",
"email": "jake@email.com",
}
}
显然,我有更多的数据,但目标是为getUsers
函数提供一系列ID,并进行连续调用,或者只是批量获取ID匹配的所有用户。我在Firebase方面有很好的经验,对于这个项目,我们使用的是firebase-admin
,而且我使用管理SDK for JavaScript几乎没有经验。
我已尝试使用Bluebird Promise库,但无法通过[Promise { <Pending> }, Promise { <Pending> }]
,不幸的是,异步代码只是在这里工作。我正在寻找有关如何解决这个问题的建议,但我担心我无法到达任何地方。
我尝试了以下实现:
映射userKeys
数组中的每个项目并执行:
数据库 .child(&#39;用户&#39;) .child(钥匙) .once(&#39;值&#39;,...)
相同,但forEach
Promise.map
Promise.each
将每个Promise推送到一个数组,然后返回Promise.all
字面上看似没什么用。我在这里失去了......