【发布时间】:2020-01-14 20:43:53
【问题描述】:
承诺:
实施
getDataPromise(): any {
let promise = new Promise((resolve, reject) => {
resolve([
{ brand: 'iPhone', model: 'Xmax', price: '$1000' },
{ brand: 'Samsung', model: 'S10', price: '$850' }
]);
});
return promise;
}
// promise call
getDataPromise.then((data) => {
console.log("Result: ", data);
});
结果是一个数组:
Result: [
{ brand: 'iPhone', model: 'Xmax', price: '$1000' },
{ brand: 'Samsung', model: 'S10', price: '$850' }
]
可观察
实施
import { from } from 'rxjs';
getDataObservable(): any {
return from([
{ brand: 'iPhone', model: 'Xmax', price: '$1000' },
{ brand: 'Samsung', model: 'S10', price: '$850' }
]);
}
// observable call
getDataObservable().subscribe((data) => {
console.log("Result: ", data);
});
结果依次是2个对象:
Result: { brand: 'iPhone', model: 'Xmax', price: '$1000' }
Result: { brand: 'Samsung', model: 'S10', price: '$850' }
试图了解其中的区别,浏览了在线资料,但仍然无法回答以下 2 个问题。
为什么结果不同?
如何从 observable 中获取结果为数组(类似于 promise 中的)?
【问题讨论】:
标签: angular typescript promise rxjs observable