ich switchMap
brauchen ein Observables<Action>
: kannauf Rückruf beobachtbaren Punkt zurückkehren
this.actions$
.ofType('LOAD_SOURCES')
.switchMap((action: Action) =>
Stripe.card.createToken(
<StripeCardTokenData>{name: "PLACEHOLDER NAME"},
(status, response) {
}
)
);
wo
private actions$: Actions;
class Actions extends Observable<Action> {...}
export interface Action {
type: string;
payload?: any;
}
Wie Sie eine Callback-Funktion der zweite Parameter von createToken
ist zu sehen, sollte ich behandeln. Also, ich weiß nicht, eine neue Aktion zurückzugeben, wenn Callback erreicht ist, seit wann es Observable genannt wird, ist vergangen.
Die Unterschrift des Callback ist:
createToken(data: StripeCardTokenData, responseHandler: (status: number, response: StripeCardTokenResponse) => void): void;
Wie Sie es reuturns => void
sehen können!
Wie kann ich ein Aktionselement erstellen, wenn der Rückruf gemäß den Antwortdaten erreicht wird?
Das Ziel ist also eine andere Aktion zurückzukehren (aber wenn Rückruf erreicht:
this.actions$
.ofType('ADD_SOURCE')
.switchMap(
(action: Action) =>
(Observable.of({ type: 'ADD_SOURCE_SUCCESS' })));
Ich weiß nicht, ob ich so gut erklärt habe
Dank @Sebastian. Es sieht gut aus. Ich habe versucht, "Observable.bindCallBack" zu verwenden, aber diese Methode ist nicht verfügbar. Muss ich etwas importieren? – Jordi
Wenn Sie etwas wie 'import {Observable} von' rxjs/Observable 'gemacht haben, sollte 'bindCallback' verfügbar sein. Hinweis * LOWER * "b"! –
Ich importiere es mit 'import {Observable} von 'rxjs/Observable';'. Nichtsdestotrotz ist die Methode nicht verfügbar. Ich benutze 5.2.0 Version ... – Jordi