У меня есть задание написать части данных в отдельных файлах:Multiple WriteFile в NodeJS
fs.writeFile('content/a.json', JSON.stringify(content.a, null, 4), function(err) {
if(err) {
console.log(err);
} else {
console.log('a.json was updated.');
}
});
fs.writeFile('content/b.json', JSON.stringify(content.b, null, 4), function(err) {
if(err) {
console.log(err);
} else {
console.log('b.json was updated.');
}
});
fs.writeFile('content/c.json', JSON.stringify(content.c, null, 4), function(err) {
if(err) {
console.log(err);
} else {
console.log('c.json was updated.');
}
});
fs.writeFile('content/d.json', JSON.stringify(content.d, null, 4), function(err) {
if(err) {
console.log(err);
} else {
console.log('d.json was updated.');
}
});
Но теперь у меня есть 4 различных обратных вызовов, так что я не могу получить в тот момент, когда все четыре задачи имеют был закончен. Возможно ли параллельное 4 вызова writeFile и получить только 1 обратный вызов, который будет вызываться, когда было создано 4 файла?
P.S.
Конечно, я могу сделать что-л, как:
fs.writeFile('a.json', data, function(err) {
fs.writeFile('b.json', data, function(err) {
....
callback();
}
}
Просто интересно, есть ли другой способ сделать это. Благодарю.
посмотреть модуль НПМ с именем 'async'. Вы также можете использовать встроенный модуль 'prom', но асинхронно было бы легче понять. –
Если вы против использования других модулей, вы также можете просто использовать счетчик. Приращение по каждому из них завершено, и когда он равен полному количеству созданных файлов, вы знаете, что все сделано. –
Спасибо всем, ребята, асинхронный модуль есть что-то, что я ищу. –