我使用下面的代码用其参数调用适配器的过程。正如您所看到的,有一个成功的回调函数和一个失败的回调函数。当我为Windows 8环境构建应用程序时,如果应用程序无法进行调用,则不会执行失败回调函数。该应用程序被绞死,我需要杀死该应用程序。
该代码在Android和iOS环境中运行良好。这是一个Worklight 6.1应用程序。
MyFunc: function(cb, err, dataObject){
var invocationData={
adapter : ADAPTER_NAME,
procedure : PROCEDURE_NAME,
parameters : [dataObject["request"],dataObject["headers"]]
};
var options={
onSuccess:SuccessResponseHandler,
onFailure:FailureResponseHandler
};
function SuccessResponseHandler(response){
if(!isResponseValid(response)){
err(response);
}
else{
cb(response.invocationResult.array);
}
};
function FailureResponseHandler(response){
alert("Error");
};
WL.Client.invokeProcedure (invocationData,options);
},
答案 0 :(得分:0)
尝试两件事:
将function SuccessResponseHandler(response)
和function FailureResponseHandler(response)
移到myFunc
之外。
让他们成为匿名函数
var options = {
onSuccess: function(response) { ... },
onFailure: function(response) { ... }
}