コード例:
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);
}
});
宣誓を使用する場合、プロバイダーが私のアプリにリダイレクトした後、ハブはsignIn
イベントを発生させます。ただし、signInUserSession
プロパティはnull
イベント発生したときですが、しばらくしてから(100ミリ秒以内)値を取得します。これはAuth.signIn(email, password)
直接使用する場合は発生しないようです。signInUserSession
イベントが発生したときに入力されます。
ここで何が起こっているのですか、どうすれば回避できますか?現在、私はコードに明示的な遅延があります。これはひどいハックです。
使用しているバージョンは何ですか?使用していないアプリでこれを再現しようとしましたが、うまく
—
いき
JavaScriptでもpromiseを使用できます。
—
Prabhat
このイベントをどこでどのようにリッスンしていますか?コンポーネントまたは任意のシングルトンクラスのコード部分ですか?
—
カーシック
私はredux-sagaを使用
—
Thom Smith、
Hub.listen
しており、イベントチャネルの電源として使用しています。ただし、上記のサンプルコードを佐賀県から直接実行しても同じ問題が発生しました。