我是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);
控制台输出
答案 0 :(得分:1)
异步/等待不适用于“可观察”。您必须订阅内部测试功能。
async function testing() {
getIDs.subscribe((IDs) => {
console.log(IDs);
console.log('Print First');
});
//const result = await getIDs;
// console.log(result);
}