Установите время ожидания, запустите функцию и обновите страницу - PullRequest
0 голосов
/ 10 октября 2019

Я пытаюсь обновить страницу по истечении установленного времени, поэтому в идеале после загрузки изображения в браузер я бы хотел, чтобы страница обновилась.

все, что я пробовал, как:

then((canvas) => {
              canvasToImg(canvas, imageToPdf, imageLoadError);
        }).then("refresh") 

просто обновляет броузер до истечения времени ожидания и до загрузки документа.

setTimeout(
      function() 
      {
        html2canvas(c,
          {
            useCORS: true,
 ($(".SPPageChrome") as any).ploading({
      action: 'show'
    });


 setTimeout(
  function() 
  {
    html2canvas(c,
      {
        useCORS: true,
      }
      ).
      then((canvas) => {
          canvasToImg(canvas, imageToPdf, imageLoadError);
    });
    ($(".SPPageChrome") as any).ploading({
      action: 'hide'
    }
    );
  }, 2000); 

Ценю вашу помощь.

спасибо

1 Ответ

0 голосов
/ 10 октября 2019

Функции обратного вызова таймера запускаются после текущие инструкции в стеке вызовов завершены. Функции обратного вызова находятся в очереди событий и ждут, когда их вызовет среда выполнения JavaScript.

Вот пример. Обратите внимание, что «Задание завершено» будет напечатано на консоли раньше, чем поступит сообщение обратного вызова таймера. Обратный вызов будет выполняться ПОСЛЕ того, как основной поток простаивает.

console.log("About to set up the timer....");

setTimeout(function(){
  console.log("Timer callback says 'Hello'");
}, 0);

console.log("Job Complete");

Если вы хотите, чтобы страница обновлялась в конце функции таймера, поместите этот код в конец функции обратного вызова таймера, а не после функция таймера.

console.log("About to set up the timer....");

setTimeout(function(){
  console.log("Timer callback says 'Hello'");
  console.log("Job Complete");  // <-- Now, this will run at the end
}, 0);

И, более конкретно, если вы хотите подождать, пока изображение загрузится, чтобы что-то сделать, просто установите обработчик события load для изображения.

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