если приложение будет крутиться на продакшене и файлик, к которому идёт обращение, перезаписываться (я так понимаю он не доступен будет в этот момент), то у меня ничего не упадёт или здесь есть о чём беспокоиться?
код на всякий пожарный:
var express = require('express');
var router = express.Router();
var csv = require('csv-parser');
var fs = require('fs');
router.get('/data', function(req, res) {
var exampleResult = [];
var dictionaryResult = [];
fs.createReadStream('dictionary.csv')
.pipe(csv())
.on('data', (data) => dictionaryResult.push(data))
.on('end', () => {
fs.createReadStream('example.csv')
.pipe(csv())
.on('data', (data) => exampleResult.push(data))
.on('end', () => {
res.json({ example: exampleResult, dictionary: dictionaryResult });
});
});
});
... listen ...
Это синхронная функция, которая запускает поток, а вот он уже асинхронный. события потока запускают ваши коллбеки. Попробуйте создать два потока на чтение одновременно и посмотрите
Обсуждают сегодня