[解決済み] fromPromiseはObservable型に存在しない。
質問
Angular 2でrxjsを使用して、PromiseをObservableに変換しようとしていました。多くのオンラインガイドが示したように、私は
fromPromise
に
Observable
. これはエラーを投げます。
Property 'fromPromise' does not exist on type 'typeof Observable'.
のようにObservableがインポートされました。
import { Observable } from "rxjs/Observable";
インポートしようとする
fromPromise
をインポートしようとすると、他の演算子と同様にエラーになります。
import 'rxjs/add/operator/fromPromise';
typescript errorを抑制してもエラーになります。
(<any>Observable).fromPromise
エラーです。
Uncaught (in promise): TypeError: __WEBPACK_IMPORTED_MODULE_3_rxjs_Observable__.Observable.fromPromise is not a function
似たような問題がrxjsのレポで報告されています。 ここで で報告されていますが、そこにも解決策はありません。
どのように解決するのですか?
UPDATEしてください。
現在
rxjs
6.0.0-beta.3 では、オペレータと観測可能なクリエータは
rxjs
. さらに
fromPromise
はもう公開 API の一部ではなく、そのラップは
from
メソッドにラップされています。
TL;DRです。
アップデイト
rxjs 6.0.0はこちらをご利用ください。
import { from } from 'rxjs';
var observableFromPromise = from(promiseSrc);
UPDATEです。
のリリース後
パイプ式演算子
で
rxjs
5.5.xでは、モンキーパッチ的なアプローチは強く推奨されません。静的メソッドオプションを使用することを検討してください。
オリジナルの回答
現在のところ
rxjs
5.4.x,
fromPromise
は静的なメソッドとして使うこともできますし、 パッチで
Observable
プロトタイプにパッチすることもできます。
については、以下のようにすればよい。
import { fromPromise } from 'rxjs/observable/fromPromise';
var observableFromPromise = fromPromise(promiseSrc);
この手法の詳細 ここで
2つ目を行うには、import文を変更する必要があります。
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/fromPromise';
var observableFromPromise = Observable.fromPromise(promiseSrc);
この手法の詳細 ここで
個人的には、2番目のアプローチは基本的に1番目のアプローチであることを考慮すると、1番目のアプローチをお勧めしますが、違いは
Observable
プロトタイプが変更されている点が異なります。
関連
-
[解決済み] BehaviorSubjectとObservableの違い?
-
[解決済み] Angular 2におけるEventEmitter.next()とEventEmitter.emit()の相違点
-
[解決済み] コンポーネントクラスからテンプレート参照変数にアクセスする
-
[解決済み] パイプ ' ' が見つかりません。
-
[解決済み] 角度2 ngfor 最初、最後、インデックスループ
-
[解決済み] 遅延のあるobservableを作成するには?
-
[解決済み] Angular 2で入力タグのファイルタイプで選択されたファイルをリセットする方法は?
-
[解決済み] angular keyvalue pipe sort properties / iterate in order (アンギュラーキーバリューパイプソートプロパティ / イテレートオーダー)
-
[解決済み] 角度の2つのスイッチケース値
-
[解決済み] 角度換算2
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Angular2でNgForがPipeでデータを更新しない。
-
[解決済み] .tsファイルはTypeScriptのコンパイルの一部ですが、使用されていませんという警告を消すには?
-
[解決済み] ルーターナビゲートで同じページのngOnInitを呼び出さない
-
[解決済み] 文字列|ヌル'型の引数は、文字列'型のパラメータに代入できません。タイプ 'null' はタイプ 'string' に割り当てられません。
-
[解決済み] Angular2 bodyタグにクラスを追加する
-
[解決済み] 子ルートから親ルートに移動するにはどうしたらいいですか?
-
[解決済み] Angular2のテーブル行をコンポーネント化
-
[解決済み] Uncaught Error: Unexpected module 'FormsModule' declared by the module 'AppModule'. Pipe/@Directive/@Component アノテーションを追加してください。
-
[解決済み] Angular2で生のhtmlをバインドする方法 [重複]。
-
[解決済み] mat-selectでデフォルトのオプションを設定する