JQuery обратный вызов - PullRequest
       1

JQuery обратный вызов

2 голосов
/ 28 сентября 2010

Мне нужно иметь возможность обратного вызова при выполнении функции после готовности

jQuery(document).ready(function() {    
   execute function 1, only when finish
      do function 2
});

Каков хороший способ сделать это?

Ответы [ 4 ]

2 голосов
/ 28 сентября 2010

После загрузки документа выполняется следующее:

$(function(){
    DoSomething();
});

function DoSomething()
{
    SomethingElse(); // depends what you're doing in DoSomething()
}

function SomethingElse()
{
}
1 голос
/ 28 сентября 2010

JavaScript является однопоточным.Ничего не происходит одновременно.Однако, если fn1 является асинхронным вызовом, поток будет часто выполнять fn2 до того, как возвращаемое значение fn1 будет готово.Это то, что делает JavaScript «racy».

Если у вас есть несколько вызовов aysnc в серии, то вам нужно либо управлять серией обратных вызовов NESTED, либо создать очередь, используя шаблон Active Object.У jQuery есть один (упомянутый).Я написал библиотеку, которая делает это под названием Proto-Q: http://code.google.com/p/proto-q/

0 голосов
/ 28 сентября 2010

вы можете позволить function1 вызывать вторую функцию, затем третью и так далее. но это всегда строка за строкой

0 голосов
/ 28 сентября 2010

да, это хороший способ.Вы можете использовать: (function(){});, если вы не используете библиотеки javascripts, кроме jQuery для готовности

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