Dojo延迟链接

时间:2012-01-12 08:41:20

标签: dojo deferred

我无法解决如何针对以下场景制作Dojo延迟工作的问题。基本上我有一个函数应该循环遍历许多项目并以延迟的方式分别处理每个项目。它在一个单独的方法中处理每个项目,该方法在完成后返回Deferred。我希望能够执行循环以关闭并处理每个项目并在完成后报告成功或失败。以下是我到目前为止的测试样本:

http://jsfiddle.net/Ayyoudy/mgv6Y/12/

我做错了什么?我期望输出数字按顺序排列,但它们不是。

我还希望能够检测处理其中一个项目是否有错误,如果是,则不处理其余项目。

由于

1 个答案:

答案 0 :(得分:2)

  1. 我已决定输出编号应按顺序排列。 http://jsfiddle.net/granjoy/mgv6Y/17/ 您的代码中存在几个问题

    • 循环函数应该使用闭包来保存变量。
    • 您应该使用已返回的验证延迟现在是Deferred
  2. 鉴于process()函数会立即完成,所以日志“完成处理一切!”将首先输出。

  3. 编辑:

    我已从这个问题中学习。谢谢,作者给出了另一个好的解决方案。 http://jsfiddle.net/Ayyoudy/mgv6Y/14