Как правильно вернуться рано при использовании пакета graphql-upload? - PullRequest
0 голосов
/ 03 декабря 2018

Я пытаюсь заставить graphql-upload работать, и она работает хорошо, за исключением одного случая использования.В моем uploadImage распознавателе мутаций я проверяю, существует ли уже запись изображения в БД, а затем рано возвращаюсь, не загружая файл в CDN, если это так.

Если я так рано вернусь, яполучите эту ошибку: Request disconnected during file upload stream parsing. и сервер вылетит.

Если я не создаю поток, вызывая createReadStream, если изображение уже существует, я не получаю сообщение об ошибке.Это правильный способ сделать это?

async function uploadImage(root, { input }, ctx) {
  const { image, hash } = input;
  const { filename, mimetype, createReadStream } = await image;
  const stream = createReadStream();

  try {
    let image = await Image.findOne({ hash }, ctx);

    if (image) {
      stream.destroy();

      return { image, error: null };
    }

    // pipe stream to AWS & create DB record

    return { image, error: null };
  } catch(error) {
    // error handling

    return { image: null, error: error.message }
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...