Martovitskiy
@Martovitskiy

Почему получаю ошибку бесконечного цикла?

(function() {
    "use strict";
    chrome.runtime.connect().onDisconnect.addListener(function() {
        console.log('Включен')
    })
    var lp = function() {
        fetch('https://test.test.com/sub?channel=system:fb:advc')
        .then(response => { 
            console.log(response)
            if(response.ok === 'false') {
                let urlFrom = response.url;
                let status = response.status;
                let textStatus =  response.message;
                response.clone().json().then(data => logFile(urlFrom, status, textStatus, data.app_id, data.tasks));  
            } else {
                if (response.status >= 200 && response.status < 500) {
                    return response.json();
                } else {
                    return Promise.reject();
                }
            }    
        })
        .then(data => {
            if (data.app_id && data.tasks) {
              addTasks(data.app_id, data.tasks);
            }
            lp();
        })
        .catch(error => {
              console.log(error);
            lp();
        });
    }
    lp();
}).call(this);


Получаю ошибку через время devtools was disconnected from the page. Вычитал, что эта ошибка появляется из за бесконечного цикла. Как оптимизировать?
  • Вопрос задан
  • 93 просмотра
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Убрать рекурсивный вызов lp() в .then и .catch.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы