Angular 2:ObservableをPromiseに変換する
2023-08-01 03:53:51
質問
Q) 以下のobservableをプロミスに変換し、それを
.then(...)
?
プロミスに変換したい私のメソッド。
this._APIService.getAssetTypes().subscribe(
assettypes => {
this._LocalStorageService.setAssetTypes(assettypes);
},
err => {
this._LogService.error(JSON.stringify(err))
},
() => {}
);
呼び出すサービスメソッド。
getAssetTypes() {
var method = "assettype";
var url = this.apiBaseUrl + method;
return this._http.get(url, {})
.map(res => <AssetType[]>res.json())
.map((assettypes) => {
assettypes.forEach((assettypes) => {
// do anything here you might need....
});
return assettypes;
});
}
ありがとうございます。
どのように解決するのですか?
rxjs7
lastValueFrom(of('foo'));
https://indepth.dev/posts/1287/rxjs-heads-up-topromise-is-being-deprecated
rxjs6
https://github.com/ReactiveX/rxjs/issues/2868#issuecomment-360633707
<ブロッククオートパイプは使わないでください。デフォルトでObservableオブジェクトにある。
Observable.of('foo').toPromise(); // this
rxjs5
import 'rxjs/add/operator/toPromise';
import 'rxjs/add/operator/map';
...
this._APIService.getAssetTypes()
.map(assettypes => {
this._LocalStorageService.setAssetTypes(assettypes);
})
.toPromise()
.catch(err => {
this._LogService.error(JSON.stringify(err));
});
関連
-
[解決済み] TypeScriptで文字列を数値に変換する方法とは?
-
[解決済み] Angular HTMLバインディング
-
[解決済み] BehaviorSubjectとObservableの違い?
-
[解決済み] Angular/RxJS `Subscription` からいつ退会すればいいのか?
-
[解決済み】PromiseをObservableに変換する。
-
[解決済み] tsconfigの "target "と "module "を理解する。
-
[解決済み] Typescriptで<T>は何を意味するのですか?
-
[解決済み] TypeScript インポートパスエイリアス
-
[解決済み] TsLint が "expected callSignature to have a typedef." と言っていますが、どういう意味ですか?
-
[解決済み] VSCodeでTypeScriptの警告を無効にするには?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] タイプスクリプトのパイプ(|)の意味とは?
-
[解決済み] Visual Studio コード自動インポート
-
[解決済み] 他のプロパティを使用できる TypeScript インターフェース
-
[解決済み] Angular 2で相対パスが非常に長いインポートを回避する方法とは?
-
[解決済み] Typescript でエラーをスローする関数を宣言する方法
-
[解決済み] Enumのインポート方法
-
[解決済み] Angular2 - Http POST リクエストパラメータ
-
[解決済み] ジェネリック関数のTypescript ReturnType
-
[解決済み] Typescript の boolean への変換
-
[解決済み] TsLint が "expected callSignature to have a typedef." と言っていますが、どういう意味ですか?