0
返回觀察到的項目,我需要一個switchMap
Observables<Action>
:回調
this.actions$
.ofType('LOAD_SOURCES')
.switchMap((action: Action) =>
Stripe.card.createToken(
<StripeCardTokenData>{name: "PLACEHOLDER NAME"},
(status, response) {
}
)
);
其中
private actions$: Actions;
class Actions extends Observable<Action> {...}
export interface Action {
type: string;
payload?: any;
}
正如你所看到的,createToken
第二個參數是一個回調函數,我應該處理。所以,我不知道在回調被調用時返回一個新的動作,因爲它被稱爲observable已經通過了。
回調的簽名是:
createToken(data: StripeCardTokenData, responseHandler: (status: number, response: StripeCardTokenResponse) => void): void;
正如你可以看到它reuturns => void
!
根據響應數據達到回調時如何創建Action項?
所以目標是回到另一個動作(但是當達到回調:
this.actions$
.ofType('ADD_SOURCE')
.switchMap(
(action: Action) =>
(Observable.of({ type: 'ADD_SOURCE_SUCCESS' })));
我不知道如果我解釋這麼好
感謝@Sebastian。它看起來很好。我試過使用'Observable.bindCallBack',但這種方法不可用。我需要導入一些東西嗎? – Jordi
如果你從'rxjs/Observable'做了'import {Observable};''bindCallback'應該可用。注* LOWER *「b」! –
我使用'rxjs/Observable';'import {Observable}來導入它。儘管如此,方法不可用。我正在使用5.2.0版本... – Jordi