我无法使用IBM Worklight将两个参数传递给适配器onSuccess()函数。请告诉我方式。以下是我目前正在尝试的内容:
var options = {
onSuccess : SubCategoriesSuccess(options, result),
onFailure : SubCategoriesFailure,
invocationContext: {}
};
答案 0 :(得分:1)
onSuccess
参数需要引用到函数,而不是函数的调用 - 请注意SubCategoriesSuccess
和SubCategoriesSuccess()
之间存在差异JavaScript的。你正在做的是传递调用SubCategoriesSuccess(options, result)
的结果。
您需要的是编程术语中通常称为部分调用的内容。 JavaScript本身具有执行此操作的功能 - Function.prototype.bind()。您可能应该看一下(尽管各种JavaScript工具包也提供了替代方案)。
这意味着您的代码看起来像:
{
onSuccess : SubCategoriesSuccess.bind(this, options, result),
onFailure : SubCategoriesFailure,
invocationContext: {}
};
请注意,我未对此进行了测试。
答案 1 :(得分:0)
如果options是调用函数中已有的变量。你必须将return函数包装在另一个函数中。换句话说,成功从适配器返回,选项只是由调用函数传递。
onSuccess:function(result){
SubCategoriesSuccess(options, result);
}