В экземпляре XMLHttpRequest есть пять событий.
var xhr = new XMLHttpRequest();
xhr.onloadstart = res => {
console.log('onloadstart')
}
xhr.onprogress = res => {
console.log('onprogress')
}
xhr.onload = res => {
console.log('onload')
}
xhr.onloadend = res => {
console.log('onloadend')
}
xhr.onreadystatechange = res => {
console.log(xhr.readyState)
}
console.log(xhr.readyState)
xhr.open('GET', 'https://api.github.com/repos/vuejs/vue/issues');
xhr.send();
это результат
/*
1
onloadstart
2
3
onprogress
4
onload
onloadend
*/
из результатов, я могу найти порядок при вызове обработчика событий.
Но я был озадачен, какова разница между этими событиями?Я знаю, что в спецификации whatwg сказано, что onlandstart означает прогресс, а onprogress означает прогресс ...
Но у меня его нет.Я пробовал этот код в каждом обработчике событий.
console.log(res)
console.log(res.target.status)
var result = res.target.responseText
console.log(JSON.parse(result))
console.log(res.target.getAllResponseHeaders())
console.log(res.target.getResponseHeader('x-ratelimit-remaining'))
Результаты точно такие же.
Так какую же разницу мы можем найти внутри кода javascript?