【问题标题】:Store promises in multiple variables of async function在异步函数的多个变量中存储 Promise
【发布时间】:2020-07-28 18:23:28
【问题描述】:

是否可以使用 async/await 函数将已解决的 Promise 的数据存储在多个变量中?

例如

const urls = [
    'https://jsonplaceholder.typicode.com/users',
    'https://jsonplaceholder.typicode.com/posts'
]

const getData = async function() {
    const Promises = urls.map(url => fetch(url))
    for await (let request of Promises) {
        const data = await request.json()
    }
}

getData()

// However, I want to store '/users' in 'const users', '/posts' in 'const posts' etc.

【问题讨论】:

  • 我不明白这个问题。你究竟需要什么帮助?您的变量 Promises 将是一个承诺数组,但这不是获取数据数组的最简单方法。
  • 你想要Promise.all吗?

标签: javascript ecmascript-6 promise async-await


【解决方案1】:

你似乎在寻找

async function getData() {
    const promises = [
        'https://jsonplaceholder.typicode.com/users',
        'https://jsonplaceholder.typicode.com/posts'
    ].map(url =>
        fetch(url).then(request => request.json())
    );
    const [users, posts] = await Promise.all(promises);
    console.log(users, posts);
}

【讨论】:

    猜你喜欢
    • 2017-01-15
    • 2020-09-30
    • 1970-01-01
    • 1970-01-01
    • 2020-02-18
    • 1970-01-01
    • 2021-02-15
    • 1970-01-01
    • 2021-07-09
    相关资源
    最近更新 更多