@Ankozar

Почему в объекте есть json, а обратиться к нему нельзя?

class Json {
    constructor(filename){
        this.filename = filename,
        this.json
    }
    getJson = () =>{
        let xhr = new XMLHttpRequest()
            xhr.open('GET', this.filename + '.json')
            xhr.responseType = 'json'
            xhr.send()
            xhr.onload = ()=>{
                if(xhr.status == 200){
                    this.json = xhr.response
                    }else{
                    console.log(xhr.status)
                }
            }
    }
   
}

const tagsObj = new Json('tags')
tagsObj.getJson()
console.log(tagsObj) //выводит  объект со свойством json
console.log(tagsObj.json) //говорит что свойство json undefined


Вот, что выводит:
608b80da2c657891641006.jpeg

Почему так?
  • Вопрос задан
  • 127 просмотров
Решения вопроса 1
Lynn
@Lynn
nginx, js, css
Потому что его там ещё нет в момент обращения.
Наведи мышку на синюю букву i на скриншоте.

Читать про асинхронность до просветления.

UPD: самый линкуемый вопрос на ruSO https://ru.stackoverflow.com/a/554337/190728
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы