当文档说应该拒绝时,我无法弄清楚为什么要履行承诺。
打开http://jsbin.com/orifok/5/edit并点击 go 按钮,当它应该提示“失败”时它会提示“ok”。
替换when221.all...
为deferred2.promise.then(stepFulfilled, stepRejected);
并发生拒绝。
我确实对 when.js 代码进行了修改以使 when221 变量成为全局变量,而不是需要依赖于 require.js 库(参见http://pastebin.com/J8wCqjWM与原始https://github.com的比较/cujojs/when/blob/2.2.1/when.js)。
when.all() 文档说:如果任何承诺被拒绝,则返回的承诺将被拒绝,并以被拒绝的第一个承诺的拒绝原因 - 请参阅https://github.com/cujojs/when/blob/master /docs/api.md#whenall