Сообщение от Maxmaxmaximus3
|
немного не понял, можешь обьяснить?
|
У меня например все виджеты наследуются от класса Defer, который реализует АПИ: this.setTimeout, this.setInterval, this.setImmediate, this.ajax, this.proxy, this.setQueue и т.д. т.е. используя это АПИ вместо голых вызовов мы полностью устраняем проблему возможных утечек памяти и багов, т.к. сами виджеты знают об этих обработчиках и отменяют их выполнение и чистят память автоматически в деструкторе.
Представь ситуацию: у тя есть блок, он дёргает аяксом данные, запрос бежит, а в этот момент юзер к примеру переходит на другую страницу (а у нас сингл пейдж апликейшн), т.е. блок был удалён, но его запрос никто не отменил и более того, когда сервер ответит он будет вызывать обработчики внутри мёртвого блока. Тоже самое со всеми остальными асинхронными вызовами и событиями, вроде image.onload.