0

我正在尝试构建一个 Web 应用程序,其中我在 Javascript 控制器类中抽象了逻辑。我想最小化该类之外的函数调用。

一旦进入我的应用程序的页面,每当用户执行任务时,我都希望在我的服务器上将先前的操作标记为已完成。所以我在我的 Javascript 类 eg 中调用了一个方法,该方法EndTask(id)又向服务器发送了一个 ajax 命令。不,我想等待对我的 ajax 命令的响应,然后再允许用户继续进行。

我还想确保我的 Javascript API 保持在最低限度,并且页面不必注册任何回调。

所以本质上,我想调用 just EndTask(),当函数返回时,页面会明白将任务标记为已完成的整个过程已经执行。

有没有办法在 Javascript 中做到这一点,而不将 ajax 调用标记为同步?

4

1 回答 1

2

可以在 JavaScript中使异步函数同步,但要这样做,您需要使用当前仅受 Firefox 支持的生成器。

我建议您同步 AJAX 调用并使用 Firefox 中的生成器,因为它不支持同步XMLHttpRequest对象。但是请注意,这可能会导致代码冗余。

于 2012-06-15T06:26:55.620 回答