这可能听起来有点疯狂,但有没有办法同步调用一个程序?
我正在使用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请求会很好,因为我显示了一个"正在加载......"在请求完成时查看所有内容以防止用户交互。
答案 0 :(得分:1)
WL.Client.connect()不支持.then
。此外,从7.0开始,您应该使用REST API方法WLResourceRequest
:https://developer.ibm.com/mobilefirstplatform/documentation/getting-started-7-1/foundation/server-side-development-category/
最后,你可以把第二个请求放在第一个onSuccess
回调中......