Ibm mobilefirst Worklight-启动时连接失败

Ibm mobilefirst Worklight-启动时连接失败,ibm-mobilefirst,worklight-studio,Ibm Mobilefirst,Worklight Studio,使用Worklight server v6.1,我试图开发一个简单的应用程序,在启动时连接到生产服务器。要获得此信息,我需要: 在initOptions.js文件中,我将connectOnStartup设置为true 在wlCommonInit方法的.js文件中,我调用: WL.Client.connect({ onSuccess:已连接, 失败:失败 }); 其中,connected和failure是对两个简单函数的回调,这两个函数在listview中加载一些数据。当我在生产或开发环境中试

使用Worklight server v6.1,我试图开发一个简单的应用程序,在启动时连接到生产服务器。要获得此信息,我需要:

  • initOptions.js
    文件中,我将
    connectOnStartup
    设置为
    true
  • wlCommonInit
    方法的
    .js
    文件中,我调用:

    WL.Client.connect({
    onSuccess:已连接,
    失败:失败
    });

其中,
connected
failure
是对两个简单函数的回调,这两个函数在listview中加载一些数据。当我在生产或开发环境中试用它时,我会在我的应用程序布局上看到一个点,说明它正在加载,如下图所示(即使应用程序正确加载了数据):

我注意到,在iOS或Android设备上安装并运行它后,我没有这种奇怪的行为,但在Windows8设备上我确实有

我设置为false connectOnStartup,只剩下对WL.Client.connect的调用。 现在,应用程序不再被阻止(我想是因为WL.Client.connect异步运行,而WL.Client.init不异步运行,但这只是我的看法)

我还不能连接到服务器,这很奇怪,因为(你可以在图片中看到)有一个列表视图,其中充满了sql适配器返回的数据


因此,看起来应用程序可以连接到服务器以调用适配器,但不能进行更新。您已经在
initOption.js
中设置了
connectOnStartup:true
,这意味着应用程序将在启动时尝试连接到Worklight服务器-基本上它调用
connect
,那么,为什么还要在
wlCommonInit()
中调用
WL.Client.connect

至于成功和失败,我认为你可能想要的是以下内容:

有一个initOption,您可以在
initOptions.js
中取消注释:

  • 连接故障
连接到Worklight时调用的故障处理函数 服务器,默认情况下在初始化时执行,或者 connectOnStartup标志为true,失败

默认情况下,“success”是
wlCommonInit()
,但您需要其他内容,然后在
initOptions.js
中,您还可以添加
onSuccess:something



顺便说一句,您在哪里看到Worklight将您所做的作为“最佳实践”的工作?

请查看我编辑的答案,有关最佳实践,我指的是在wlCommonInit方法下创建空hyprid应用程序时发现的注释。我误解了两个条件都适用,而不仅仅是其中一个。@Riccardo,如果您的问题得到了回答,请将此答案标记为“已回答”。您所说的“更新”是什么意思?所说的更新是指修补程序,使用设置为true的connectOnStartup选项,并在iOS和Android设备中安装应用程序,我尝试在生产服务器中上载修补程序,并且在连续启动时更新任何客户端中安装的所有应用程序。我想这是在应用程序启动时调用WL.Client.Connect的主要目的。不是吗?你指的是直接更新,这个功能目前只适用于Android和iOS。此外,在应用程序启动时还会发生更多的事情(如果设置为connectOnStarstup:true,如远程通知或远程禁用。请查阅文档。此外,这个问题的状态如何?如果一些客户使用Windows8(v8.0和v8.1),我将向他们分发应用程序或者Windows Phone 8他们不能直接更新我发布的应用程序吗?他们必须从Windows应用商店手动卸载/重新安装吗?