同期リクエストの数を非同期リクエストとして単純にカプセル化することができます。
以下のコード内の「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 プログラミング言語内で Web サーバーを使用しましたが、すべて正常に動作しているようです。この仕様のヒントが得られるのは、ブラウザー内でコードをテストするまではありません。