Аксиос Пост Запрос остановлен - PullRequest
1 голос
/ 25 октября 2019

Я делаю POST-запрос с Axios в цикле for для создания массовых отведений. Лидеры создаются, но проблема, на которую я обращаю внимание, заключается в том, что, несмотря на то, что я получаю ответ 200, на вкладке «Сеть» в разделе «Время» запросы фактически никогда не завершаются, они просто говорят «застопорились».

Нижеэто скриншот того, о чем я говорю enter image description here

Это может стать проблемой, потому что, если я выполняю другие запросы 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);
            })
        }

    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...