📅  最后修改于: 2023-12-03 15:21:25.489000             🧑  作者: Mango
当您升级到 RxJS 6 时,您可能会面临这个问题:在类型“typeof Observable”上不存在“fromPromise”属性。这是因为在新版本中,fromPromise
方法已被归入到 from
方法中。因此,您应该使用 from
方法来从 Promise 中创建 Observable。
下面是一个例子,展示了如何使用 from
方法来从 Promise 中创建 Observable:
import { from } from 'rxjs';
function getData(): Promise<any> {
return fetch('https://jsonplaceholder.typicode.com/todos/1').then(res => res.json());
}
const observable = from(getData());
observable.subscribe(data => {
console.log(data);
});
在上面的例子中,我们使用 fetch
方法返回一个 Promise,然后将其作为参数传递给 from
方法,以创建一个可以被订阅的 Observable。在订阅中,我们使用 console.log
输出数据。
如果您仍然希望使用 fromPromise
方法,您可以将它导入到您的文件中,添加以下 import 语句:
import { fromPromise } from 'rxjs/observable/fromPromise';
然后,您可以使用它来创建 Observable,就像这样:
import { fromPromise } from 'rxjs/observable/fromPromise';
const observable = fromPromise(getData());
但是请注意,这只是一种过渡方案。在将来的版本中,该方法将被删除。因此,建议您迁移到 from
方法。