【发布时间】:2012-08-18 00:31:47
【问题描述】:
我正在编写一个充满异步任务的解析器。我使用 JQuery 承诺来控制和排序异步任务。这是构造函数的伪代码版本:
/**
* @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 文档:
在将多个Deferred对象传递给jQuery.when的情况下, 该方法从新的“主”延迟对象返回 Promise 跟踪所有 Deferred 的聚合状态 通过了
如何使用 .progress() 通知任何关心 Parser 整体进度的人? 例如
var parser = new Parser(json);
parser.progress(function(prog){console.log(prog});
这是我正在尝试做的事情: http://jsfiddle.net/ashanova/RjULA/2/
【问题讨论】:
标签: javascript jquery progress jquery-deferred