У меня есть такой код:
for(var id=0; id < message.receiver.length; id++){
var tmp_id = id;
zlib.gzip(JSON.stringify(message.json), function(err, buffer){
...
pushStatusPool[message.receiver[tmp_id]] = null; // fix memory leak
delete pushStatusPool[message.receiver[tmp_id]];
...
});
}
И я получил предупреждение о том, что использование tmp_id
в закрытии может вызвать проблему, потому что это изменяемая переменная.
Как я мог избежать этого? Я имею в виду, как я могу отправить неизменяемую переменную для обратного вызова, поскольку это цикл for, и я не могу изменить код zlib.gzip
? Или, другими словами, как я могу передать аргумент закрытию?