当调用适配器的过程失败时,失败函数不会执行

时间:2015-10-10 13:51:17

标签: javascript ibm-mobilefirst worklight-adapters

我使用下面的代码用其参数调用适配器的过程。正如您所看到的,有一个成功的回调函数和一个失败的回调函数。当我为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);
            },

1 个答案:

答案 0 :(得分:0)

尝试两件事:

  1. function SuccessResponseHandler(response)function FailureResponseHandler(response)移到myFunc之外。

  2. 让他们成为匿名函数

    var options = { 
        onSuccess: function(response) { ... },
        onFailure: function(response) { ... }
    }