【发布时间】:2018-01-12 03:43:47
【问题描述】:
我有数百个类似这样的主 JS 脚本,我可以不修改:
> some code filling parameter1
var response1=callAjax(parameter1);
> some code using response1 and filling parameter2
var response2=callAjax(parameter2);
> etc ..
callAjax 函数可以更改或重写。它目前以同步模式调用 Ajax(已弃用),因此需要对其进行大修。在执行主文件期间阻止 UI 是一项要求(这些是银行和类似应用程序,因此最终用户不允许在此过程中编辑任何输入字段或单击任何按钮 - 可以显示屏幕面纱)。
如何修改 callAjax 函数以使用异步模式并保持主脚本(数百或数千个)保持不变?
我查看了使用 Promises 或 async/await,但不知道如何使用这些来将 ajax 响应返回到主脚本。与添加一些用作信号量的全局变量相同。同样,不允许将主脚本分解为每个调用的多个函数。这些是纯 Javascript,没有 jQuery。
【问题讨论】:
-
显示您的 callAjax 函数,以便我们了解您提出请求的具体情况
-
不,您必须编辑该代码以使其异步工作。但是,如果您无论如何都在寻找糟糕的用户体验,为什么不让它保持同步呢?
标签: javascript ajax asynchronous promise