Я практикую обратные вызовы с API (API Рика и Морти) и использую XMLHttpResquest.
Как видите, это мой код:
let XMLHttpRequest = require('xmlhttprequest').XMLHttpRequest;
let API = 'https://rickandmortyapi.com/api/character';
function fetchData(url_api, callback) {
let xhttp = new XMLHttpRequest();
xhttp.open('GET', url_api, true);
xhttp.onreadystatechange = function(event) {
if(xhttp.readyState === 4) {
if(xhttp.status === 200) {
callback(null, JSON.parse(xhttp.responseText))
} else {
const error = new Error('Error ' + url_api);
return callback(error, null);
}
}
}
xhttp.send();
}
fetchData(API, function(error1, data1) {
if (error1) return console.error(error1);
fetchData(API + data1.results[0].id, function(error2, data2) {
if (error2) return console.error(error2);
fetchData(data2.origin.url, function (error3, data3) {
if (error3) return console.error(error3);
console.log(data1.info.count);
console.log(data2.name);
console.log(data3.dimension);
});
});
});
Возвращает ошибку, но Я не уверен, какой тип ошибки:
запуск пряжи v1.22.4 $ node src / callback / challenge. js Ошибка: ошибка https://rickandmortyapi.com/api/character при экспорте. XMLHttpRequest.xhttp.onreadystatechange (A: \ Базовая программа на JavaScript \ Curso de Asincronismo \ asincronismo \ src \ callback \ challenge. js: 12: 31) в файле export.XMLHttpRequest.dispatchEvent (A: \ Carrera de Backend con JavaScript \ Curso de Asincronismo \ asincronismo \ node_modules \ xmlhttprequest \ lib \ XMLHttpRequest. js: 591: 25) в setState (A: \ Carrera de Backend con JavaScript> Curso de Asincronismo \ asincronismo \ node_modules \ xmlhttprequest \ xmlhttprequest \ lib 1019 *: 610: 14. (A: \ Backrend de Backend con JavaScript \ Curso de Asincronismo \ asincronismo \ node_modules \ xmlhttprequest \ lib \ XMLHttpRequest. js: 459: 14) в ClientRequest.emit (события. js: 311: 20) в TLSSocket. socketErrorListener (_http_client. js: 426: 9) в TLSSocket.emit (events. js: 311: 20) в emitErrorNT (внутренний / streams / destroy. js: 92: 8) в emitErrorAndCloseNT (внутренний / streams /destroy.js:60:3) Выполнено в 1.51 с.
Я понимаю, что условие if не выполняется, но как я могу его решить? Не дает мне больше подробностей.