@phpuser

Как увеличить время работы скрипта?

Привет! Есть такой код:
var url = 'http://asdasurl.sdsf'; //берется файл с другого сервера
 $thumbnail
        .hide()
        .attr('src', url)
        .after(console.log('wow, its works!');)
        .error(function(jqXHR, textStatus) {
            console.log("error");
        })
        .load(function() {
            console.log('good, very good');
        });


при обращении по url создается файл на другом сервере и записывается в "ссылку". Однако файл создается дольше чем работает скрипт, из-за чего вылетает ошибка .error. Можно ли увеличить uptime для этого куска кода, чтобы он ждал файл?
  • Вопрос задан
  • 149 просмотров
Решения вопроса 1
chlp
@chlp
фулстек
Обратитесь сначала с помощью ajax к ulr'у, затем:
1) если знаете через какое время нужно скачать файл, то setTimeout;
2) если не знаете, то каждые n-секунд через setInterval проверяйте наличие файла.

var url = 'http://asdasurl.sdsf'; //берется файл с другого сервера
$.post( url);
var interval = setInterval(function() {
 $thumbnail
        .hide()
        .attr('src', url)
        .after(console.log('wow, its works!');)
        .error(function(jqXHR, textStatus) {
            console.log("error"); // пишем ошибку и переходим через секунду к очередной проверке
        })
        .load(function() {
            console.log('good, very good');
            clearInterval(interval); // больше не проверяем, т.к. уже ok
        });
}, 1000);
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@entermix
Можно проверять в цикле готов ли файл, если да - идем дальше, иначе ждем
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы