combineLatest没有被调用

我有以下代码

我是rjxs编程的新手,所以想知道有什么可以从根本上解决问题。我想做一个任务,先把所有最新的结果合并,然后再订阅分配结果。 但是 combineLatest 好像没有工作。什么可以是原因?

const downloadUrls$: any = Array.from(event.target.files).map((file: any) => {
  const fileName = ...
  const path = ...
  const fileRef = ....
  const task: any = ...

  return task.snapshotChanges().pipe(
    filter(snap => snap.state === firebase.storage.TaskState.SUCCESS),
    switchMap(() => {
      return fileRef.getDownloadURL().pipe(
        map((url: string) => ({
          name: fileName,
          filepath: url,
          relativePath: path,
        }))
      );
    })
  );
});

combineLatest(...downloadUrls$).subscribe((urls: any) => {
  console.log(hi); // not printing
});

解决方案:

combinelatest不启动的原因是主题的引用,你应该改成这个版本。因此,删除… …之前的下载Urls$。

combineLatest(downloadUrls$).subscribe((urls: any) => {
      console.log(hi); // not printing
    });

Combinelatest是用于合并两个或更多的观测值。有什么特殊的原因使用combinelatest与一个observable?否则你可以改成更简单的版本,如

downloadUrls$.subscribe((urls: any) => {
          console.log(hi); // not printing
        });

给TA打赏
共{{data.count}}人
人已打赏
解决方案

在Kotlin中除以数组的大小,但我得到的是零,甚至数组的大小等于1或更多。

2022-4-22 13:08:55

解决方案

如何在改变sharedpreferences数据后自动改变android menuItem数据?

2022-4-22 13:08:57

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索