JQuery построить очередь с пользовательскими функциями (не говоря об FX-очередях) - PullRequest
1 голос
/ 21 августа 2009

Это мой код ...

var _before = function () {
    for (var i = 0; i <= 10000; i++) {
        console.log(i);
    }
};

var _appear = function () {
    console.log('i am in the middle of it');
};

var _after = function () {
    console.log('all done!');
};

jQuery.fn.doSomething = function() {
    this.click(function() {
        _before();
        _appear();
        _after();
    });
};

$('#someButton').doSomething();

Я хочу построить очередь внутри функции doSomething, чтобы позволить _before () завершиться перед запуском _appear () и _appear () завершиться перед запуском _after ().

Я не могу изменить структуру кода.

Спасибо

1 Ответ

2 голосов
/ 21 августа 2009

Не могу понять, почему он не будет синхронным, поскольку нечего предложить его асинхронный.

Вы пытались поместить три вызова функции в саму функцию:

jQuery.fn.doSomething = function() {
    this.click(function() {
        doAll();
    });
};

jQuery.fn.doAll = function() {
    _before();
    _appear();
    _after();
};

Или вы не можете этого сделать, потому что не можете изменить структуру?

...