私はページ上で実行するスクリプトを作成しています。このページにはいくつかのajax呼び出しがあり、それぞれが連続しています(Aが動作している場合はBコールなど)。XMLHttpRequestラッパー? (複数のリクエストをクリーンアップ)
マイコード:
function doSomething(element) {
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
pageCheck(this,element);
}
}
xhr.open('GET', URL);
xhr.responseType = 'document';
xhr.send();
}
インサイドpageCheck、私は要素(それが何であるかは関係ありません)、そのXMLHttpRequestの呼び出しによって得られたDOMオブジェクトを渡します。内部のページを確認してください。
pageCheck(page,item) {
var xhr1 = new XMLHttpRequest();
xhr1.onreadystatechange = function() {
if (...) {
doSomethingElse(..);
}
xhr1.open(..)
xhr1....etc
}
私の問題は恐ろしく見えます。 XMLリクエストのラッパーを作れませんか?私はこれを持っていましたが、私はxhrオブジェクトにアクセスできないことを認識しました。フェッチ、jquery、約束などを使わずにこれをどのようにクリーンアップできますか? xhrオブジェクトを再利用しますか?
function XMLWrapper(url) {
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
pageCheck(this,item);
}
}
xhr.open('GET', url);
xhr.responseType = 'document';
xhr.send();
}
なぜdownvotesですか?これをきれいにしようとすると、それは悪く見えます。 – Kevin