Я пишу парсер, заваленный задачами Async. Я использую JQuery promises для управления и заказа задач async. Это версия кода функции-конструктора psuedo:
/**
* @constructor
*/
function Parser(json)
{
return $.when(
this.delete().then(this.insert(json)),
this.doSomething(),
this.doSomethingElse().then(this.update(json))
)
};
и это выглядит так:
Parser.prototype.doSomething = function()
{
var dfd = $.Deferred();
exampleTask(dfd.reject, dfd.resolve);
return dfd.promise();
};
Из документов JQuery:
В случае, когда несколько переданных объектов передаются в jQuery.when, метод возвращает Promise из нового объекта "master" Deferred который отслеживает совокупное состояние всех Отложенных прошло
Как я могу использовать .progress(), чтобы уведомить кого-нибудь, кто интересуется общим прогрессом Парсера? например.
var parser = new Parser(json);
parser.progress(function(prog){console.log(prog});
Вот, что я пытаюсь сделать: http://jsfiddle.net/ashanova/RjULA/2/