Я делаю POST-запрос с Axios в цикле for для создания массовых отведений. Лидеры создаются, но проблема, на которую я обращаю внимание, заключается в том, что, несмотря на то, что я получаю ответ 200, на вкладке «Сеть» в разделе «Время» запросы фактически никогда не завершаются, они просто говорят «застопорились».
Нижеэто скриншот того, о чем я говорю
Это может стать проблемой, потому что, если я выполняю другие запросы POST, подобные этим, не все запросы пройдут. Мне кажется, я где-то читал, что Google Chrome позволяет открывать только до 6 соединений или что-то в этом роде. Если эти запросы останавливаются, я могу только предположить, что эти соединения остаются открытыми, и именно это приводит к тому, что это происходит.
Поэтому я предполагаю, что мой вопрос заключается в том, как лучше всего поместить этот запрос POST вцикл без задержек запросов? Должен ли я сделать это асинхронным, и если да, то как мне сделать это с моим кодом?
Вот мой server.js
app.get('/create*', (request, response) => {
var baseurl = 'https://OURACC.nocrm.io/api/v2/'
var apikey = 'APIKEY'
var title = "";
var description = "";
var tags = [];
var pathname = request.url; // retrieves the requested pathname (ie, /crm/path)
pathname = pathname.split('?');
pathname = pathname[0].split('/')
var parameters = request.query.params;
var path = pathname[2]; // gets request path for the crm
title = parameters.title
description = parameters.description
tags = parameters.tags
var params = {
title: title,
description: description,
tags: tags
}
if(path === 'leads'){
// console.log("Inside Lead Creation");
axios.post(baseurl + path,
params
,{
headers: {'X-API-KEY': apikey, content_type: "json", accept: "application/json"}
}).then(function(res){
console.log("Lead Created");
}).catch(function(error){
console.log("Error: " + error);
})
}
})
Здесь я называю это клиентской стороной
CreateLeads(){
var prospects = this.state.Prospects;
var description = "";
var title = "";
var tags = [];
for(var i = 0; i < prospects.length; i++){
tags = prospects[i].tags;
title = prospects[i].leadName;
description = "Business Name: " + prospects[i].businessName + "\n" +
"Customer Number: " + prospects[i].custNumber + "\n" +
"Corporate Name: " + prospects[i].corpName + "\n" +
"Corporate Contact Name: " + prospects[i].corpContName + "\n" +
"Corporate Phone: " + prospects[i].corpPhone + "\n" +
"Corporate Email: " + prospects[i].corpEmail + "\n" +
"Customer First Name: " + prospects[i].custFirst + "\n" +
"Customer Last Name: " + prospects[i].custLast + "\n" +
"Street: " + prospects[i].street + "\n" +
"City: " + prospects[i].city + "\n" +
"State: " + prospects[i].state + "\n" +
"Zip: " + prospects[i].zip + "\n" +
"Phone 1: " + prospects[i].phone + "\n" +
"Category: " + prospects[i].category;
var data = {
title: title,
description: description,
tags: tags,
}
console.log(data);
$.get('/create/leads', {params: data}).then(response => {
console.log(response);
}).catch(error => {
console.log("Error: " + error);
})
}
}