0
我在查询airtable的一些数据,这些数据基本上是书籍和相关作者的数据库。每本书籍都有一个authorId
字段,我必须单独查询才能获取相关的作者数据。我如何异步同时等待多个承诺? [语法错误:await是保留字]
这里是我得到的所有的书第一:
let books = await axios.get("https://api.airtable.com/v0/appGI25cdNsGR2Igq/Books?&view=Main%20View")
let authorIds = books.data.records.map((book) => book.fields.Author[0])
这工作,我得到这些作者的ID:
[ 'recNLaQrmpQzfkOZ1',
'recmDfVxRp01x85F9',
'recKQqdJ9a2pHnF2z',
'recKMiDhdCUxfdPSY',
'rec67WoUDFjFMrw44' ]
现在我想这个数据发送到这样一个getAuthors
功能:
const getAuthors = async (authorIds) => {
authorIds.map(id => await Promise.all([
return axios.get(`https://api.airtable.com/v0/appGI25cdNsGR2Igq/Authors/${id}`
])))
}
这个函数应该让我知道我的相关作者数据,但是我得到了一个呃ROR:
Syntax Error: await is a reserved word
...在这条线:authorIds.map(id => await Promise.all([...
我在做什么错的,是有办法解决这一问题?
我的巴贝尔设置工作正常,我使用了预先配置用于翻译等的next.js。此外,第一次请求书的作品很好,这意味着异步不是问题 –
更新了我得到错误的行:'authorIds .map(id =>等待Promise.all([' –
为什么你需要async/await + promises?这是两种不同的模式来管理异步代码。 – Booster2ooo