Mobilefirst 7.1 wlInitOptions使用WL.Client.Init返回undefined

时间:2017-07-26 17:04:13

标签: ibm-mobilefirst hybrid-mobile-app

我们在MFP 7.1.0.00.20170627-0807上运行了移动混合应用程序。我们的wlInitOptions如下:

    var wlInitOptions = {


    autoHideSplash : false,
    showIOS7StatusBar : false,
    onSuccess : function (response) {
        console.log(" wlInitOptions onSuccess :" +  JSON.stringify(response));
    },
    onFailure : function (error) {
        alert("System Error: Failed to connect !!");
    },

    onConnectionFailure: function (error) {
        WL.SimpleDialog.show(
                "System Error: Server connection error",
                error,
                [{text: "Close", handler: null}]
        );
    },

    onUserInstanceAccessViolation : function (error) {
        WL.SimpleDialog.show(
                "System Error: User Access not available",
                error,
                [{text: "Close", handler: null}]
        );
    },

    timeout: 10000,
    onRequestTimeout : function (error) {
        WL.SimpleDialog.show(
                "System Error: Request Timeout",
                error,
                [{text: "Close", handler: null}]
        );
    },

    onErrorRemoteDisableDenial : function (message, downloadLink) {
        WL.SimpleDialog.show(
                appStoreUpdateTitle,
                message,
                [{text: notNowButton, handler: function() {WL.App.close();}},
                 {text: downloadNewVersionBtn, handler: function() {WL.App.openURL(downloadLink, "_blank");}}]
        );
    },

};


if (window.addEventListener) {
    window.addEventListener('load', function() {
        WL.Client.init(wlInitOptions);
        console.log(" wlInitOptions 1 :" +  JSON.stringify(WL.Client.init(wlInitOptions)));

    }, false);
} else if (window.attachEvent) {
    window.attachEvent('onload', function() {
        WL.Client.init(wlInitOptions);
        console.log(" wlInitOptions 2 :" +  JSON.stringify(WL.Client.init(wlInitOptions)));

    });
}



};

我正在尝试确定从成功init获得的响应是​​什么。但是,即使我们的应用程序正在按预期工作,日志仍然是未定义的。

我如何知道响应内容是什么以及未定义的原因。

这背后的原因是跟踪init调用的失败,以便我们捕获日志和导致失败的确切响应。

日志:

2017-07-26 12:56:04.281 ManulifeBankMobile[19779:517705] wlInitOptions onSuccess :undefined
2017-07-26 12:56:04.281 ManulifeBankMobile[19779:517705] wlInitOptions 1 :undefined
2017-07-26 12:56:04.281 ManulifeBankMobile[19779:517705] wlInitOptions 2 :undefined

1 个答案:

答案 0 :(得分:0)

WL.Client.init()函数是一个异步void函数 - 它不返回任何内容。您可以使用onSuccessonFailure回调分别对WL.Client.init()调用的整体成功或失败做出反应。但是,这些回调不会传递对实际响应的引用。如果要响应特定的故障情形,可以在选项对象中指定许多其他故障回调函数。发生相关错误情况时,将调用这些回调:

  • onUnsupportedVersion
  • onRequestTimeout
  • onUnsupportedBrowser
  • onDisabledCookies
  • onUserInstanceAccessViolation
  • onErrorRemoteDisableDenial
  • onErrorAppVersionAccessDenial

请注意,将在每个失败案例中调用常规onFailure回调。

有关详细信息,请参阅WL.Client.init() documentation