Как получить ответ после использования потоковой функциональности? - PullRequest
1 голос
/ 29 мая 2019

Итак, я получаю сообщение об ошибке «Невозможно установить заголовки после их отправки клиенту».Я понял, что мой код res.status (200) .send (ОК (fileObj, null, req));синхронноЯ не уверен, как получить ответ после того, как все мои потоки будут готовы.

    try {

        const fileObj = [];

        const stream =  await minioClient.listObjects(bucket, '', true);


        await stream.on('data', async (obj, error) => { 

            await fileObj.push(obj);

            if (error) {

                console.log(error);

            }

            res.status(200).send(OK(fileObj, null, req));
        });

        stream.on('error', function (err) { 


            console.log(err);

        });  
    }

    catch (e) {

        console.log(e);

    }

Ожидаемый результат: на нем не должно отображаться сообщение «Невозможно установить заголовки после того, как они отправлены клиенту».

1 Ответ

2 голосов
/ 29 мая 2019

Возможно, вы должны отправить ответ на событие окончания потока.

stream.once('end', _=> res.status(200).send('OK'));
...