【发布时间】:2015-08-13 05:09:42
【问题描述】:
我正在查看一些使用when.js 的现有代码。出现几次的模式是:
return when(someBigFunction(), function() {
doSomeMoreProcessing();
if (maybe) {
throw someError;
}
});
我想他们在这里使用when 的原因是他们当时不确定someBigFunction() 是否会返回一个承诺。
在语义上,上述和:
return when(someBigFunction()).then(function() {
...
});
一般例子不使用promise的返回值(即function() {不是function(x) {)
.
API 文档提供了这个:
-
when(x,f):通过将 x 转换为 f 来获得可信的承诺 -
then:通过对 Promise 的实现值应用函数来转换 Promise 的值。
所以我怀疑没有区别,但也许我错过了一个微妙之处?
【问题讨论】:
-
我一直认为您使用 .then() 是为了将数据获取与您对数据的实际操作分离(这样更容易测试),但不确定。
标签: javascript promise when-js