📜  “typeof Observable”类型上不存在属性“fromPromise”. rxjs 6 - Javascript (1)

📅  最后修改于: 2023-12-03 15:21:25.489000             🧑  作者: Mango

RxJS 6 中 “typeof Observable”类型上不存在属性“fromPromise”

当您升级到 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 方法。