3

我有一个jQuery deferred,我这样解决:

deferredAction.resolve(returnArray);

这正在调用一个回调,例如:

function someCallback(myArray) {
...
}

这工作正常,回调函数接收数组。但是我需要设置回调函数的上下文,所以我使用deferred.resolveWith像这样:

deferredAction.resolveWith(someContext, returnArray);

现在已正确设置上下文。但是,现在似乎 returnArray 正在被拆分。 我的回调只接收数组的第一项。

为什么会发生这种情况,我该如何解决?

4

2 回答 2

5

文档指出您应该在单个数组中传递参数。在你的情况下:

deferredAction.resolveWith(someContext, [returnArray]);

于 2012-07-11T12:09:04.257 回答
0

我通过在返回参数周围加上方括号来解决这个问题:

deferredAction.resolveWith(someContext, [returnArray]);
于 2012-07-11T12:08:56.663 回答