Я изучаю nodejs из других языков (C # и т. Д.), И некоторые синтаксисы были сбиты с толку.
Например, этот фрагмент кода (я уверен, что он довольно прост, но был бы признателен за пояснение или хотя бы ссылку на документацию, в которой это объясняется)
for(var index in files) {
console.log("-->"+index);
var task = (function(file) {
return function() {
fs.readFile(file, function(err, text) {
if (err) throw err;
countWordsInText(text);
checkIfComplete();
});
}
})(filesDir + '/' + files[index]);
tasks.push(task);
}
что это за var task= (function(file){return function(){......}})(filesDir+.....);
есть функция, которая вызывает функцию, и вдруг некоторые параметры (??) находятся за пределами?
Я предполагаю, что это определяет список функций, но каково правило для этого синтаксиса