我是 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);
控制台输出
最佳答案
异步/等待不适用于 Observable。您必须在测试功能内订阅。
async function testing() {
getIDs.subscribe((IDs) => {
console.log(IDs);
console.log('Print First');
});
//const result = await getIDs;
// console.log(result);
}
关于javascript - 为什么我的 Observable 从未被解决?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51343777/