Как сделать что-то после того, как мой набор функций был выполнен? - PullRequest
1 голос
/ 05 августа 2010

У меня есть набор функций, и я хочу что-то сделать, например, показать анимацию загрузки, пока эти функции работают! и когда они останавливаются, я хочу показать предупреждение, например. Все это на jQuery.

У кого-нибудь есть совет?

Некоторый абстрактный код:

//these are my functions:
function a(number){number=number*2};
a(1); a(2); a(3);
//While this functions are running i want to show a gif, for example!
//When the three callings this function has done, i want to show an alert

Ответы [ 3 ]

2 голосов
/ 05 августа 2010

Ваш JavaScript выполняется в том же единственном потоке, что и все остальные средства рендеринга в документе, и поэтому бессмысленно вносить изменения в пользовательский интерфейс перед запуском большого количества синхронных JS (ваших функций) только для того, чтобы затем отменить изменение пользовательского интерфейса.Пользовательский интерфейс останется прежним для пользователя.

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

1 голос
/ 05 августа 2010

Как это:

// code to show loading message

function a(number){number=number*2};
a(1); a(2); a(3);

// code to hide loading message

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

0 голосов
/ 05 августа 2010

непосредственно перед вызовом функции отображает на экране некоторую анимацию gif

, а сразу после вызова функция удаляет ее и показывает ваше предупреждение.

вот и все.

...