首页 > 解决方案 > 当我在 JavaScript 中使用 Promise.all ... then 语法时,有没有办法进行变量?

问题描述

Promise.all(user_arr.map((item) =>
                    `endpoint/${item}`).map(fetchJson))
                    .then((responseText) => {
                        obj[item] = responseText[0].result
                    })
                    .catch(err => {
                        console.log(err)
                    });

在我的Promise.allAPI 调用中,我想继续使用item变量,以便obj[item]知道它指的是哪个项目。但是,这给了我'item' is not defined错误。

有没有一种正确的方法可以在 JavaScript 中完成这项工作?

提前致谢

标签: javascriptpromise

解决方案


您只需要重组您的代码,以便您关闭item.

Promise.all(
    user_arr.map((item) =>
        fetchJson(`endpoint/${item}`)
            .then((responseText) => {
                obj[item] = responseText[0].result
            })
    )
).catch(err => {
    console.log(err);
});

推荐阅读