【问题标题】:react setState hook with async map用异步映射反应 setState 钩子
【发布时间】:2022-01-17 00:25:18
【问题描述】:

我正在尝试在数组上使用带有映射的 setState 挂钩,其中最终对象的属性之一是异步函数

setState(
 _exports.map(async (exportData) => {
  const ruleStatus = await getMonitorData(exportData)
  return {
   ...exportData,
   ruleStatus
  }
 })
)

const getMonitorData = async (_export) =< {
 return post('/app/monitor', _export)
}

但我得到的只是一组待处理的承诺,并且页面呈现时没有实际内容(一切都未定义) 我想等待帖子完成并使用实际响应而不是我得到的未决承诺

【问题讨论】:

    标签: javascript reactjs asynchronous async-await


    【解决方案1】:

    怎么样

    const promises = _exports.map(async (exportData) => {
        const ruleStatus = await getMonitorData(exportData)
        return {
            ...exportData,
            ruleStatus
        }
    })
    Promise.all(promises).then(setState)
    

    【讨论】:

    • 效果很好!非常感谢
    猜你喜欢
    • 2020-09-27
    • 2020-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-31
    • 1970-01-01
    • 2021-05-26
    相关资源
    最近更新 更多