sendRequest()
выполнит asyn c. Это означает, что сценарий продолжается, даже если данные не загружены. Таким образом, последняя строка console.log(getData)
уже появится до того, как будут загружены какие-либо данные.
Вот для чего можно использовать обещания:
sendRequest('GET', baseUrl + '/users')
.then(function(data){
// The response can only be processed in the .then part.
// You can, however, call other functions with the fetched data
console.log(data);
})
.catch(err => console.log(err));
Другой вариант - использовать asyn c и ждите. Но это не работает в старых браузерах.
function async sendRequest(method, url, data = null) {
// your current xhr code
}
let getData = await sendRequest('GET', baseUrl + '/users');
console.log(getData);