gpt4 book ai didi

Javascript 实现异步以将长时间运行的进程的结果放入数组

转载 作者:行者123 更新时间:2023-11-30 07:32:47 24 4
gpt4 key购买 nike

我有一组文件,我正在向这些文件添加数据,这些文件在概念上是这样工作的:

let filearray = ['file1.txt', 'file2.txt', 'file3.txt'];
newarray = [];
for (let f of filearray) {
newstuff = 'newstuff';
newarray.push([f, newstuff]);
}
console.log(newarray)
// Returns expected array of arrays

但是,我需要做的是制作涉及大量处理的 newstuff = slow_promise_function(f);。我如何从该 promise 函数中获取值到数组中?

理想情况下,我想在 ES2017 中使用新的 async 功能。

更新:

这些答案帮助我理解问题(和解决方案):

最佳答案

您可以使用 Promise.all,它会返回一个 Promise,当所有的 promise 都已解决时,该 Promise 就会解决:

let loadData = async () => {
let filearray = ['file1.txt', 'file2.txt', 'file3.txt'];

try {
let ops = filearray.map(f => slow_promise_function(f));
let newarray = await Promise.all(ops);

// TODO: use newarray
} catch (err) {
console.log(err);
}
}

loadData();

关于Javascript 实现异步以将长时间运行的进程的结果放入数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45644739/

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