Я использую несколько функций в своем коде. Теперь, когда я ищу источник высокого использования памяти, я хочу убедиться, что они не виновны.
Используя jQuery, я связываю и запускаю пользовательские события для элемента body. Когда событие срабатывает, я сохраняю его в списке запущенных событий. Одна из вспомогательных функций, которую я использую, называется «waitfor». Вот некоторый псевдокод:
waitfor = function(event, callback){
if(event_has_ever_been_called){
callback(); //RUN IMMEDIATELY
}
else{
//BIND CALLBACK TO RUN AS SOON AS THE EVENT IS TRIGGERED
$("body").bind(event, function(){
callback();
});
}
}
Например,
//ADD GOOGLE MAP TO PAGE
... listen for the google map 'idle' event,
... then call $("body").trigger("gmap.ready")
//ADD MARKERS AS SOON AS POSSIBLE (BUT NOT BEFORE)
waitfor("gmap.ready", function(){
//add markers
});
Мне это кажется очень простым, но меня немного беспокоит, что это (или любая из моих других функций, использующих функции анонимного обратного вызова) может вызывать высокое использование памяти.
Достаточно ли этой информации, чтобы определить, является ли данная функция безопасной / небезопасной?