【问题标题】:Why is my Observable never Resolved?为什么我的 Observable 从未解决?
【发布时间】:2018-07-14 22:12:35
【问题描述】:

我是 javascript 的新手,我正在浏览 Angular 2 文档,碰巧看到你可以用 Observable 替换 Promises。我有一个非常简单的代码,我不知道为什么我会在这里得到另外两个额外的结果。我确实得到了我想要的价值,但是我也得到了一些 ZoneAwarePromise 和 Observable。我在这里做错了什么?

const getIDs = new Observable((observer) => {
    setTimeout(() => {
        observer.next([254, 568, 874, 258]);
        observer.next([1245, 458]);
    }, 100);
});


getIDs.subscribe((IDs) => {
  console.log(IDs);
});

async function testing() {
  const result = await getIDs;
  console.log(result);
  console.log('Print First');
}

const x = testing();
console.log(x);

控制台输出

【问题讨论】:

    标签: javascript angular angular2-services angular-promise angular2-observables


    【解决方案1】:

    Async/await 不适用于 Observable。您必须订阅内部测试功能。

    async function testing() {
      getIDs.subscribe((IDs) => {
        console.log(IDs);
        console.log('Print First');
      });
      //const result = await getIDs;
      // console.log(result);
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-05
      • 1970-01-01
      • 2018-06-06
      • 1970-01-01
      • 1970-01-01
      • 2021-08-14
      相关资源
      最近更新 更多