首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在react中提交表单时进行多个api调用

如何在react中提交表单时进行多个api调用
EN

Stack Overflow用户
提问于 2020-02-12 15:05:56
回答 2查看 433关注 0票数 3

我有一个有10行(可能不同)的数据的表单,在提交时,我需要进行10(可能不同)的api调用,每行一个。我使用axios进行api调用。如何才能以最佳且高效的方式在一次单击中调用多个api?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-02-12 15:30:36

Axios支持Axios api,因此您可以使用Promise.all一次处理所有10个请求。下面是一个小示例:

代码语言:javascript
运行
复制
const requests = [
  { url: "https://some.url", body: { some: "body" } },
  { url: "https://some.other.url", body: { some: "other body" } },
  // As many as you like
];

const promises = requests.map(request => axios.post(request.url, request.body));
const result = Promise.all(promises).catch(error => console.log(`Someting went wrong: ${error}`);
票数 3
EN

Stack Overflow用户

发布于 2020-02-12 17:08:52

你也可以使用Bluebird。

代码语言:javascript
运行
复制
import Bluebird from 'bluebird';

 deleteRequests = (requests) => {
       let promiseCollection = [];

        try {
            requests.map((request, index) => {
                    promiseCollection.push(axios.delete(request.API + request.ids));
            });
            return Bluebird.all(promiseCollection);
        }
        catch (error) {
        }
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60182843

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档