[Из песочницы] Асинхронные функции в Javascript и ключевое слово this
Хабы: Веб-разработка, JavaScriptПри использовании асинхронных функций в классах часто возникает проблема, когда в теле функции невозможно обратиться к объекту класса, вызывающему функцию. Это хорошо видно на примере с аяксом (с использованием jQuery):
function Loader()
{
this.load = function()
{
$.ajax({
url: '/test.php',
success: function(data, textStatus, jqXHR) {
// здесь уже никак нельзя обратиться к объекту класса
console.log(this); // this содержит внутренний объект jQuery,
// вызывающий функцию success
}
});
}
}
(new Loader()).load();
Читать дальше →
Полный текст статьи читайте на Habrahabr.ru