Javascript 如何在react中提交表单时进行多api调用
我有一个10(可能不同)行数据的表单,提交时我需要为每行调用10(可能不同)个api。我正在使用axios进行api调用。如何以最佳且高效的方式在一次单击中进行多个api调用?Axios支持Javascript 如何在react中提交表单时进行多api调用,javascript,reactjs,promise,axios,Javascript,Reactjs,Promise,Axios,我有一个10(可能不同)行数据的表单,提交时我需要为每行调用10(可能不同)个api。我正在使用axios进行api调用。如何以最佳且高效的方式在一次单击中进行多个api调用?Axios支持Promiseapi,因此您可以使用Promise.all一次处理所有10个请求。下面是一个小例子: const请求=[ {url:“https://some.url,body:{some:“body”}, {url:“https://some.other.url,body:{some:“other body
Promise
api,因此您可以使用Promise.all
一次处理所有10个请求。下面是一个小例子:
const请求=[
{url:“https://some.url,body:{some:“body”},
{url:“https://some.other.url,body:{some:“other body”},
//你喜欢多少就有多少
];
const promises=requests.map(request=>axios.post(request.url,request.body));
const result=Promise.all(promises.catch)(error=>console.log(`Someting出错:${error}`);
您也可以使用蓝鸟
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) {
}
}
为什么要进行10次api调用,只需在单个api调用上提交表单数据,因为api一次只接收一项而不是全部,即它是更新项而不是全部更新。最好让api更新所有内容,但我无权更改api。