Как нарушить обещание после количества запросов - затем цепочка в nodejs - PullRequest
1 голос
/ 26 мая 2020

Я пытался прочитать файл CSV (900 000 данных) и хочу передать его в POST API. Но я не могу передать полные данные, так как данные огромны. Поэтому я хочу приостанавливать выполнение обещаний после каждых 100 тыс. Строк и вызывать вызов ax ios, а затем возобновлять выполнение обещаний. Чтобы я мог снизить нагрузку на сервер.

Пожалуйста, поправьте меня, если что-то не так, поскольку я новичок в nodejs.

    async function readcsv(path) {
    return new Promise((resolve, reject) => {
        let csvdata = [];
        fs.createReadStream(path)
            .on('error', () => {
                // handle error
            })
            .pipe(csv())
            .on('data', (row) => {
                csvdata.push([evname,uid,data])
                console.log(csvdata)
            })
            .on('end', async() => {
                resolve (csvdata)
            })
    })
}

readcsv('filename.csv').then(data => {
    let token = jwt.sign({payload:data},secrete_key)
    axios.get(`${URL}?c=${comp_id}&jwt=${token}`).then(function(res){
        console.log(res.data)
    }).catch(e => {
        console.log(e)
    })
})
...