Как настроить вызов функции как только в массив что-то добавилось?
Сделайте функцию для добавления в массив, и пополняйте массив из разных обработчиков только через эту функцию. Она и будет той самой, что вам нужно вызывать при каждом добавлении.

Можете даже сделать массив приватным, если хотите. Тогда уж точно придётся добавлять данные через публичную функцию. Но в целом это не обязательно.
Можно попробовать расширить прототип массива своим методом, который будет включать в том числе запуск функции записи. Например, так: 

Array.prototype.add_save = function( data ) {
    this.push(data) //вставляем данные в массив
    save_function(data) //вызов вашей функции сохранения данных
}

Потом просто вызываете на этом массиве метод save_add, передавая в него требуемые данные, и все будет работать.

my_array.save_add(data)