为什么我的“可观察物”从未解决?

时间:2018-07-14 22:12:36

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

我是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);

控制台输出

1 个答案:

答案 0 :(得分:1)

异步/等待不适用于“可观察”。您必须订阅内部测试功能。

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

}