const wordCounts = await Promise.all( filePaths.map-6ren">
gpt4 book ai didi

javascript - 如何将以下 "then"转而使用 await/async(map 函数)?

转载 作者:行者123 更新时间:2023-12-01 16:09:40 24 4
gpt4 key购买 nike

以下代码获取一堆文件路径,读取文件,然后计算它们的字数:

;(async () => 
const wordCounts = await Promise.all(
filePaths.map(
filePath => fs.promises.readFile(filePath, 'utf-8')
.then(fileText => nlp(fileText).wordCount())
)
)
})()

最后如何使用async/await代替then

最佳答案

您可以制作 .map回调异步所以你可以await readFile的来电:

;(async () => {
const wordCounts = await Promise.all(
filePaths.map(async (filePath) => {
const fileText = await fs.promises.readFile(filePath, 'utf-8');
return nlp(fileText).wordCount();
})
)
})()

异步函数在调用时返回解析为异步函数内部返回值的 Promises,因此将回调设为异步就可以了,因为它被传递给了 Promise.all。 .

关于javascript - 如何将以下 "then"转而使用 await/async(map 函数)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63949745/

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