Код функции (source code on github):В чем причина клонирования массива слушателей в функции emitMany nodejs/events.js?
function emitMany(handler, isFn, self, args) {
if (isFn)
handler.apply(self, args);
else {
var len = handler.length;
var listeners = arrayClone(handler, len);
for (var i = 0; i < len; ++i)
listeners[i].apply(self, args);
}
}
В этой строке:
var listeners = arrayClone(handler, len);
массив слушателей, названный в этой области, как handler
, клонируют, а затем его клон назначается к новая переменная с именем listeners
. Интересно, для чего это полезно.
Я подозреваю, что из-за того, что).
Является ли мое объяснение правильным, или, может быть, есть что-то еще?