Задать вопрос
@DmitryLife

Как вызвать функцию объекта из callback AJAX?

Добрый день.

Я создал класс, в нем создал метод, который получает от сервера данные через AJAX.
После получения данных, я хочу вызвать метод класса, но если я его вызываю через this, то он ищет функцию в колл бэке видимо.

Как вызвать функцию класса? (Метод this.createRectangle)

class MapClass {

	map = document.querySelector('#map')
	lands = []
	widthRec = 10
	heightRec = 10

	constructor() {
		/*Create map sheet*/
		$.get('/api/getmap', {some:'test'}, function(response){
			this.lands = response
			for (let i = -5; i <= 5; i++) {
				for (let j = -5; j <= 5; j++) {
					this.lands.forEach( function(element, index) {
						console.log(element)
					});
					this.createRectangle((i * 10),(j * 10))
				}			
			}
		})
	}

	createRectangle(x,y) {
		let rec = document.createElementNS("http://www.w3.org/2000/svg",'rect')
		rec.setAttribute('x', x)
		rec.setAttribute('y', y)
		rec.setAttribute('width', this.widthRec)
		rec.setAttribute('height', this.heightRec)
		rec.classList += ' map__box'
		this.map.appendChild(rec)
	}
}
  • Вопрос задан
  • 79 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
bootd
@bootd
Гугли и ты откроешь врата знаний!
Заменить
$.get('/api/getmap', {some:'test'}, function(response){


на
$.get('/api/getmap', {some:'test'}, (response) => {
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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