javascript - 如何将 axios 响应数据添加到数组中

标签 javascript arrays asynchronous axios

我正在尝试将 URL 数组异步发送到缩短 URL 并将响应写入新数组的 API,我的问题是:

如何在所有 promise 都 resolve 之后执行某些事情?

我的代码

linkList = ['https://www.link1.com', 'https://www.link2.com'];
adsList = []
let ads = async () => {
    const req = axios(apiUrl + linkList)
    const res = await Promise.resolve(req)
    adLinks.push(res.data.shortenedUrl)
    console.log(adsList)
    // Here, it shows a updated array everytime a promise is resolved
}
ads()
console.log(adsList) // Returns [], because the promises aren't resolved by the time it runs

我希望在 adsList 中有一组缩短的 URL

最佳答案

我猜 axios 实际上是您的异步​​请求,在这种情况下,这应该是您获取缩短网址列表所需的全部内容:

const linkList = ['https://www.link1.com', 'https://www.link2.com'];
const adsList = await Promise.all(
  linkList.map(url => 
    axios(apiUrl + url).then(({data: shortenedUrl}) => shortenedUrl)
  )
);

关于javascript - 如何将 axios 响应数据添加到数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54031776/

相关文章:

javascript - 如何在没有 PHP 的情况下分解 HTML 代码?

javascript - 为什么这个 "4 | 2 | 4 | 1 | 10"在 JavaScript 中返回 15?

Java 逻辑 - while 循环中发生的奇怪事情

c - 使用指针 : program that checks if strings are in lexicographical order

c# - ReaderWriterLockSlim问题

ios - 对这种响应长时间运行的异步网络调用的 iOS 方法有任何顾虑吗?

java - 如何用Java实现多线程PID Controller ?

javascript - 如何处理来自函数的 socket.emit() 数据?

javascript - 在 MIRTH 中导入自定义 JAR。 (2.2.1.5861)

php - 如何合并两个关联数组,同时保留它们的键?