0
這是我的代碼:我不明白阿賈克斯,承諾與XMLHttpRequest的
const getXHR = (type, url) => {
let xhr = new XMLHttpRequest();
let p = new Promise(function(resolve, reject) {
xhr.onload = function() {
if(xhr.status >= 200 && xhr.status < 400) {
resolve(xhr.responseText);
} else {
reject(new Error(`Error. Code ${xhr.status}`))
}
};
xhr.onerror = function() {
reject(new Error(`Error. Problem with connection`));
}
});
xhr.open(type, url);
return {xhr, p};
};
export default {
get(url) {
var _getXHR = getXHR('GET', url),
xhr = _getXHR.xhr,
p = _getXHR.p;
xhr.send();
return p;
}
}
我不明白爲什麼我要使用此代碼來得到它的工作:
var _getXHR = getXHR('GET', url),
xhr = _getXHR.xhr,
p = _getXHR.p;
而不是這樣:
var xhr = getXHR('GET', url).xhr,
p = getXHR('GET', url).p;
這是什麼問題?對我來說,它是令人興奮的相同的代碼行。我會很感激任何幫助。也許有人有一個鏈接,我可以找到答案?
謝謝
抱歉,但我仍然不明白 –