将响应式编程 RXJS 与 AWS 开发工具包结合使用 javascript

Using Reactive Programming RXJS with AWS SDK for javascript

我正在使用 javascript 的 aws sdk 将对象上传到 S3 存储桶,而且还使用反应式编程 rxjs 创建流。那么将 S3 上传为流然后触发 API 调用的最佳方法是什么?

var stream = Rx.Observable.fromPromise(s3.putObject(params).promise());
stream.subscribe(data=>{},err=>{})

在上面的例子中,它有效,但问题是 "data" 即使在文件成功上传到 S3 存储桶后也是一个空对象,所以我无法执行 API 流因为我需要一些文件信息。

或者我应该使用 Rx.Observable.fromNodeCallback(s3.upload)?请多多指教,万分感谢

您可以从回调创建 Observable 流,而无需创建中间承诺。如果你想得到文件的详细信息,请尝试使用 aws-sdk 的 upload method:

const upload = s3.upload(config);
const upload$ = Rx.Observable.fromNodeCallback(upload.send, upload)();
upload$.subscribe(v => console.log(v)); // will print file details