我正在寻找一种方式来完成特定任务,即从去
jQuery.when.apply( null, promiseArray ).done(...)
至
when( promiseArray ).done(...)
正如你可能知道, .bind()
可以得到用于创建类似默认参数,也做了一些很漂亮的东西。 例如,而不是始终在呼唤
var toStr = Object.prototype.toString;
// ...
toStr.call([]) // [object Array]
我们可以像
var toStr = Function.prototype.call.bind( Object.prototype.toString );
toStr([]) // [object Array]
这是相当冷静(即使有性能刑罚调用.bind()
这样的,我知道,我知道的),但我真的不能完成它的jQuerys .when
通话。 如果你有承诺对象的未知量,通常那些推到一个数组,然后要能够通过这些进入.when
像我的第一个代码段中。
到目前为止,我这样做:
var when = Function.prototype.apply.bind( $.when );
现在我们就可以像
when( null, promiseArray ).done(...)
这工作,但我也想摆脱的需要传入null
时发出明确。 所以,我想
var when = Function.prototype.apply.bind( $.when.call.bind( null ) );
但抛出我:
"TypeError: Function.prototype.apply called on incompatible null"
我想我坐在在这个时间太长现在想不清楚了。 感觉就像有一个简单的解决方案。 我不希望使用任何附加功能来解决这个问题,我会用绝对prefere解决.bind()
在这里看到一个完整的例子: http://jsfiddle.net/pp26L/