Beispielcode:
Hub.listen('auth', event => {
const { event: type, data } = event.payload;
if (type === 'signIn') {
const session = data.signInUserSession;
console.log('SESSION', data.signInUserSession);
setTimeout(() => {
console.log('SESSION', data.signInUserSession);
}, 100);
}
});
Bei Verwendung von Eid löst der Hub ein signIn
Ereignis aus , nachdem der Anbieter zu meiner App weitergeleitet hat . Die signInUserSession
Eigenschaft ist jedochnull
wenn das Ereignis ausgelöst wird, erhält jedoch einige Zeit später (innerhalb von 100 ms) einen Wert. Dies scheint bei Auth.signIn(email, password)
direkter Verwendung nicht aufzutreten . signInUserSession
wird ausgefüllt, wenn das Ereignis ausgelöst wird.
Was passiert hier und wie kann ich es umgehen? Derzeit habe ich eine explizite Verzögerung im Code, was ein schrecklicher Hack ist.
Hub.listen
versorge einen Ereigniskanal mit Strom. Ich habe jedoch auch versucht, den obigen Beispielcode direkt aus einer Saga auszuführen, und hatte das gleiche Problem.