可以简单地将多个同步请求封装为异步请求。
例如,以下代码中的“func”参数可以按顺序包含多个同步请求。与使用 DOM 作为对数据进行操作的媒介相比,这应该使您对数据有更多的权力。(还有其他方法吗?我用javaScript已经有一段时间了)
function asyncModule(func)
{
"use strict";
var t, args;
t = func.timeout === undefined ? 1 : func.timeout;
args = Array.prototype.slice.call(arguments, 1);
setTimeout(function () {
func.apply(null, args);
}, t);
}
现在我的推理一定有问题,因为这是规范所说的:
工作人员之外的同步 XMLHttpRequest 正在从 Web 平台中删除,因为它会对最终用户的体验产生不利影响。(这是一个需要很多年的漫长过程。)当 JavaScript 全局环境是文档环境时,开发人员不得为 async 参数传递 false。强烈建议用户代理在开发人员工具中警告此类使用,并且可以尝试在发生 InvalidAccessError 异常时抛出异常。@ https://xhr.spec.whatwg.org/
我认为您会不惜一切代价避免请求中的异步,而是将同步请求包装在异步函数中。
这是主要问题以及后续问题。
- 我举的例子有问题吗?
如果没有,那么:
- 如何强制请求异步是正确的解决方案?
不言而喻,如果我的任何“主张”完全是错误的或半真半假的,你可以自由地揭穿它们。我对此感到困惑,我给你那个。
请记住,我是在终端中测试 javaScript,而不是在浏览器中。我在 GO 编程语言中使用了网络服务器,一切似乎都运行良好。直到我在浏览器中测试代码,我才得到这个规范的提示。