RXJS ^ 5.3.0 с AWS JS SDK - PullRequest
0 голосов
/ 08 мая 2018

Я пытаюсь добавить RxJS Observable в s3.upload () в AWS JS SDK. Ниже мой код. Обратите внимание, что я использую RXJS версии ^ 5.3.0.

const s3Config = {
        Key: logoName,
        Bucket: bucketName,
        Body: files[0],
        ACL: 'public-read'
      };

      const s3Upload = s3.upload(s3Config);
      const upload$ = Observable.bindNodeCallback(s3Upload.send, s3Upload);
      upload$.subscribe(
        (value) => console.dir('Yeah !' + value),
        (err) => console.dir(err)
      );

Как связать методы Observable и S3.upload? Пожалуйста, помогите мне!

1 Ответ

0 голосов
/ 08 мая 2018

bindNodeCallback возвращает функцию, которая возвращает наблюдаемую. И этой функции должен быть передан каждый из аргументов без обратного вызова, которые обычно передаются связанной функции.

Кроме того, вполне вероятно, что вам нужно будет использовать bind, чтобы гарантировать, что метод upload связан с s3.

Я бы сделал это так:

const upload = Observable.bindNodeCallback(s3.upload.bind(s3))

const upload$ = upload({
  Key: logoName,
  Bucket: bucketName,
  Body: files[0],
  ACL: 'public-read'
});

upload$.subscribe(
  data => console.dir(data),
  err => console.dir(err)
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...