这应该是一个简单的解决方案,但我似乎无法把它放在一起......
我有一个返回Promise的函数和另一个返回Promise的函数。我需要使用前者的返回值来调用后者,但我还需要在转换链末尾的两个值。我已经阅读了一些关于mergeMap和forkJoin的文档,但我似乎无法使用它们来获得我需要的结果:
function getBlob(id: string): Promise<Blob>;
function blobToBase64(imageBlob: Blob): Promise<string>;
// ...
// This is what I tried but I getting Observables back after the forkJoin instead of the actual values
return Observable.fromPromise(getBlob(id))
.map((blob) => return Observable.forkJoin([Observable.of(blob), Observable.fromPromise(blobToBase64)])
// data[0] and data[1] are undefined but it looks like data is actually an Observable from forkJoin.
.map((data) => console.log(`Here is ${data[0]} and ${data[1]}`);
任何人都可以解释如何结束blob和base64值吗?