我能同步调用一个程序吗?

时间:2015-10-21 23:51:31

标签: ibm-mobilefirst mobilefirst-adapters

这可能听起来有点疯狂,但有没有办法同步调用一个程序?

我正在使用MobileFirst Platform Foundation 7.1,我正在使用javascript为浏览器编写应用程序。我通常通过以下方式调用我的javascript适配器:

WL.Client.invokeProcedure({
    adapter: 'MyAdapter',
    procedure: 'myProcedureName',
    parameters: []
}).then(function(res) {
   ...
});

但在这种特殊情况下,我需要在从服务器获取一些数据后打开另一个窗口。由于浏览器会阻止来自async ajax的窗口,我的新窗口永远不会打开。

A way to solve this would be to do the ajax request sync。 WL.Client是否可以使用apis?有没有办法手动构建请求,所以我可以自己设置同步ajax标志?

PS:在我的情况下,执行同步ajax请求会很好,因为我显示了一个"正在加载......"在请求完成时查看所有内容以防止用户交互。

1 个答案:

答案 0 :(得分:1)

WL.Client.connect()不支持.then。此外,从7.0开始,您应该使用REST API方法WLResourceRequesthttps://developer.ibm.com/mobilefirstplatform/documentation/getting-started-7-1/foundation/server-side-development-category/

最后,你可以把第二个请求放在第一个onSuccess回调中......