0
ngrx/effectsを使用して角型RESTアプリケーションを開発しています。私はサンプルアプリケーションGITを使用しています。私はエフェクトのハードコードされたjsonデータをhttp REST終了から置き換えることを試みています。私はエラーが発生しています "効果" GetTodoEffects.todo $ "は無効なアクションを発送しました"。あなたはそれを解決するのを手伝ってください。すべてのものはgitコードと同じですが、以下にペーストしているエフェクトコードは除きます。 効果コード:ngrx-effects RESTコールを作成する
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/mergeMap';
import 'rxjs/add/operator/catch';
import 'rxjs/add/operator/debounceTime';
import 'rxjs/add/operator/withLatestFrom'
import { of } from 'rxjs/observable/of';
import { Injectable } from '@angular/core';
import { Observable } from 'rxjs/Observable';
import { Action, Store } from '@ngrx/store';
import { Actions, Effect, toPayload } from '@ngrx/effects';
import * as Act from '../actions/app.actions';
import * as fromStore from '../reducers';
import { HttpClient } from '@angular/common/http';
@Injectable()
export class GetTodoEffects {
@Effect() todo$ = this.actions$.ofType(Act.GET_TODO)
.map(toPayload)
.withLatestFrom(this.store$)
.mergeMap(([ payload, store ]) => {
return this.http$
.get(`http://localhost:4000/data/`)
.map(data => {
return [
new Act.GetTodoSuccess({ data: data })
]
})
.catch((error) => {
return [
new Act.GetTodoFailed({ error: error })
]
})
});
constructor(
private actions$: Actions,
private http$: HttpClient,
private store$: Store<fromStore.State>
) {}
}
私はRESTエンドポイントとしてJSON-サーバーを使用しています。私は疑うJSON-サーバー--port 4000 --watch EXPT-結果-sample.json
EXPT-結果-sample.json
[
{
text: "Todo 1"
},
{
text: "Todo 2"
},
{
text: "Todo 3"
}
]
})
]
ありがとう..私は応答を得ています。 – naik3
しかし、キャッチブロックでこのエラーが表示されます - "エラーTS2339:of 'of'タイプ 'Observable'の型に存在しません。 – naik3
ファイルの先頭に 'import' rxjs/add/observable/of ';'を追加してみてください。 – Meligy