[解決済み] .subscribe()関数は何をするのですか?
2022-03-06 05:47:44
質問
でAPIをコーディングしています。
Angular2
と
NodeJS
私は、タスクのリストを取得し、それを表示することになっている私のِ API用のサービスを実装しています。以下はタスクサービスです。
import {Injectable} from '@angular/core';
import {Http, Headers} from '@angular/http';
import 'rxjs/add/operator/map';
@Injectable()
export class TaskService{
constructor(private http:Http){
console.log('Task Service Initialized...');
}
getTasks(){
return this.http.get('http://localhost:3000/api/tasks')
.map(res => res.json());
}
}
私の場合
getTask
関数(間違っていたら訂正してください)は
.map()
関数は、私のレスポンスを受け取り、値の配列にフォーマットします。
次に、タスク・サービスを使用するタスク・コンポーネントを示します。
import { Component } from '@angular/core';
import {TaskService} from '../../services/task.service';
@Component({
moduleId: module.id,
selector: 'tasks',
templateUrl: 'tasks.component.html',
})
export class TasksComponent {
constructor(private taskService:TaskService){
this.taskService.getTasks()
.subscribe(tasks =>{
console.log(tasks);
})
}
}
を理解したいのですが、この
.subscribe()
関数が何をするのか、関連する情報が見当たりません。
どのように解決するのですか?
その
.subscribe()
関数は
Promise.then()
,
.catch()
と
.finally()
メソッドを
jQuery
を処理するのではなく
promise
を処理します。
Observable
s.
つまり、自分自身をサブスクライブして
observable
を使用します。
getTasks()
になるまで待ちます。
successful
を実行し、最初に渡されたコールバック関数を実行します。
tasks => {
console.log(tasks);
}
エラー時に何らかのロジックを実行させたい場合(
.catch()
のような)または完全な)
.finally()
) に渡すことができます。
subscribe
のようにします。
observable.subscribe(
value => somethingToDoOnlyOnSuccess(value),
error => somethingToDoOnlyOnError(error),
() => somethingToDoAlways()
);
その他の例と詳細については、こちらをご覧ください。 こちら
関連
-
[解決済み】DOMException: サポートされているソースが見つからなかったため、読み込みに失敗しました。
-
[解決済み】JavaScriptで相対URLへのリダイレクトを行う
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] let "と "var "の使い分けは?
-
[解決済み] JavaScriptでオブジェクトをディープクローンする最も効率的な方法は何ですか?
-
[解決済み] なぜGoogleはJSONレスポンスにwhile(1);を前置するのでしょうか?
-
[解決済み] とは何ですか! (not not)演算子とは何ですか?
-
[解決済み] callとapplyの違いは何ですか?
-
[解決済み】JavaScript版sleep()とは?)
-
[解決済み】PromiseとObservablesの違いは何ですか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】JavaScriptで':'(コロン)は何をするのか?
-
[解決済み】React、Uncaught ReferenceError。ReactDOMは定義されていません
-
[解決済み】Reactのeslintエラーはpropsの検証で見つからない
-
[解決済み】SyntaxError: JSON の位置 1 に予期しないトークン o があります。
-
[解決済み】 Uncaught Error: Invariant Violation: 解決済み】 Uncaught Error: Invariant Violation: Element type is invalid: expected a string (for built-in components) or a class/function but got: object.
-
[解決済み】ES6マップオブジェクトをソートすることは可能ですか?
-
[解決済み】TypeError:res.jsonは関数ではありません。
-
[解決済み】SyntaxError: 期待された式が、'<'を得た。
-
[解決済み】ETIMEDOUTエラーの対処方法は?
-
[解決済み】JavaScriptで関数が存在するかどうかを確認する方法は?