如何更改connect API的超时值?

时间:2015-09-13 00:43:47

标签: android iphone ibm-mobilefirst

我们从Android和iPhone应用程序中获得了大量的以下错误,尤其是UNRESPONSIVE_HOST,然后是REQUEST_TIMEOUT。这似乎发生在WL.Client.connect()初始化例程。

用户可能具有易失性互联网或Wifi连接。这是可能的。但似乎有一些更系统的东西。什么通常导致无响应的主机错误?为什么超时与无响应的主机不同?什么是默认超时? 10秒?在抛出这些错误之前?有没有办法改变超时。

  

REQUEST_TIMEOUT / UNRESPONSIVE_HOST ...

     

响应错误:请求超时。
  Worklight初始化时的致命错误:该服务目前不是   可用。来自服务器的状态代码:-1
  [https://www.app.com:443/app/apps/services/api/app-name/iphone/init]   主持人没有回应。

1 个答案:

答案 0 :(得分:1)

根据文档,源自JavaScript框架的所有请求的默认全局超时值为30秒。它由common \ js \ _ initOptions.js中的timeout选项控制(如果您没有看到它,请添加它并提供不同的值):http://www-01.ibm.com/support/knowledgecenter/SSHS8R_7.1.0/com.ibm.worklight.apiref.doc/html/refjavascript-client/html/WL.Client.html%23init

您还可以通过向正在使用的选项对象添加WL.Client.connect参数,而不是更改全局超时值,而不是更改timeout的超时值:http://www-01.ibm.com/support/knowledgecenter/SSHS8R_7.1.0/com.ibm.worklight.apiref.doc/html/refjavascript-client/html/WL.Client.html%23init

WL.Client.connect({
    timeout: value-in-seconds,
    onSuccess: mySuccessCallback,
    onFailure: myFailureCallback
});

至于“为什么” - 谁知道。您可以使用一些网络嗅探器来查看网络中发生的情况,以查看潜在瓶颈的位置,以及在跟踪模式下运行时,将网络嗅探器的时间戳与服务器日志中的时间戳进行比较,以进一步调查。 / p>