Классы и методы
Любезные гуру, есть код:
class getData(args) { constructor() { $.ajax({ // какой-то запрос success: function (data) { _itr_data(data); } }) } _itr_data(data) { // что-то делает } // Как из конструктора запустить метод класса? this._itr_data(data) // не работает self._itr_data(data) // тоже не работает // _itr_data is not defined } Подскажите плиз. Классы только ковыряю. |
Может так?
class getData { constructor() { var inst = this; $.ajax({ // какой-то запрос success: function(data) { inst._itr_data(data); } }) } _itr_data(data) { // что-то делает } } |
Данке шон! :) Работает. только не совсем понял как...
|
В конструкторе класса сохраняю ссылку на этот класс (строка 3) и обращаюсь к методу этого класса из callback-функции "success" jQ.
Сохранил ссылку потому что в калбэке "this" уже не будет указывать на класс "getData". |
Тоесть, если я правильно понял, есть смысл сразу создать константу со ссылкой на класс и далее спокойно ее юзать или всеже лучше ее определять в конструкторе?
вопрос отпал. константу можно определить только в конструкторе. Спасибо еще раз! :) |
class getData { constructor() { $.ajax({ // какой-то запрос success: data => this._itr_data(data) }) } _itr_data(data) { // что-то делает } } Если используете новомодную классовую хренотень, то и стрелочки использовать можете, а оные автоматически решают данный вопрос. |
спасибо! Действительно работает. не знал :)
|
Часовой пояс GMT +3, время: 08:44. |