javascript非同期関数がfirebase.authメソッドの終了を待たないのはなぜですか?

GunJack

ユーザーがログインしているかどうかを確認し、それに基づいてtrueまたはfalseを返そうとしています。ただし、Firebaseの呼び出しが完了する前に関数が戻ります。

async function checkLogin() {
    var result;

    await firebase.auth().onAuthStateChanged(function(user) {
        if (user) {
          result = true;
          console.log("user is signed in");
        } else {
        result = false;
          console.log("user is not signed in");
        }
        });
        console.log("End of function");
        return result;
}

「機能終了」は、上記の2つの前に印刷されます。結果の値は常に未定義です。が完了する前に関数が戻るようですfirebase.auth()戻る前に待たせる方法はありますか?

ダグスティーブンソン

onAuthStateChanged()は、promiseを返さず、購読解除関数を返します。onAuthStateChanged()サインイン状態が時間の経過とともに変化するときに呼び出されるリスナー/オブザーバー/サブスクライバーを追加するために使用します。そのコールバック内にコードを記述して、ユーザーがサインインまたはサインアウトしたときに必要なことを実行できます。Promisesはここでは役に立ちません-代わりにそのコールバックを使用するようにコードを設計してください。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

非同期メソッドが「serialPort = await SerialDevice.FromIdAsync()」を待機しないのはなぜですか?

分類Dev

C#で非同期メソッドの呼び出しを待たなければならないのはなぜですか

分類Dev

なぜこのメソッドが待たないのですか?

分類Dev

C#7-非同期メソッドからこの待機可能な型を返すことができないのはなぜですか?

分類Dev

非同期のキャッチがコードの起動を待たないのはなぜですか?

分類Dev

waitpidがプロセスの終了を待たないのはなぜですか?

分類Dev

ループ非同期のFirebase関数が待機します

分類Dev

私のメソッドが戻る前に約束が解決するのを待たないのはなぜですか?

分類Dev

Javascript非同期関数の合成

分類Dev

Javascript非同期関数の基本

分類Dev

非同期TypeScript関数がPromiseを返さないのはなぜですか

分類Dev

非同期関数で、なぜ私は待たなければならないのですか?

分類Dev

TS1057:非同期関数またはメソッドには、有効な待機可能な戻り値の型が必要です

分類Dev

関数でメソッドを保持できないのはなぜですか?

分類Dev

Javascript非同期関数がすぐに返されないのはなぜですか?

分類Dev

Firebase Cloud関数(非同期)が結果を返さない

分類Dev

スレッドが終了するのを待つためのこのRustコードが機能しないのはなぜですか?

分類Dev

この非同期関数が非同期で動作しないのはなぜですか?

分類Dev

非同期メソッドでコードをデバッグできないのはなぜですか?

分類Dev

非同期メソッドでコードをデバッグできないのはなぜですか?

分類Dev

非同期メソッドでコードをデバッグできないのはなぜですか?

分類Dev

このメインメソッドが終了しないのはなぜですか?

分類Dev

クローンメソッドが構築中のクローンで非最終メソッドを呼び出さないのはなぜですか

分類Dev

view.findViewsWithText(..)メソッドがなくなったビューを返さないのはなぜですか?

分類Dev

抽象メソッドを同期できないのはなぜですか?

分類Dev

pthread_joinがブロックせず、スレッドが終了するのを待たないのはなぜですか?

分類Dev

非同期関数がAngularで終了するのを待つ

分類Dev

「待機メソッド」がTestNGテストケースに失敗しないのはなぜですか?

分類Dev

2番目のJS非同期関数呼び出しが1番目の終了を待つのはなぜですか?

Related 関連記事

  1. 1

    非同期メソッドが「serialPort = await SerialDevice.FromIdAsync()」を待機しないのはなぜですか?

  2. 2

    C#で非同期メソッドの呼び出しを待たなければならないのはなぜですか

  3. 3

    なぜこのメソッドが待たないのですか?

  4. 4

    C#7-非同期メソッドからこの待機可能な型を返すことができないのはなぜですか?

  5. 5

    非同期のキャッチがコードの起動を待たないのはなぜですか?

  6. 6

    waitpidがプロセスの終了を待たないのはなぜですか?

  7. 7

    ループ非同期のFirebase関数が待機します

  8. 8

    私のメソッドが戻る前に約束が解決するのを待たないのはなぜですか?

  9. 9

    Javascript非同期関数の合成

  10. 10

    Javascript非同期関数の基本

  11. 11

    非同期TypeScript関数がPromiseを返さないのはなぜですか

  12. 12

    非同期関数で、なぜ私は待たなければならないのですか?

  13. 13

    TS1057:非同期関数またはメソッドには、有効な待機可能な戻り値の型が必要です

  14. 14

    関数でメソッドを保持できないのはなぜですか?

  15. 15

    Javascript非同期関数がすぐに返されないのはなぜですか?

  16. 16

    Firebase Cloud関数(非同期)が結果を返さない

  17. 17

    スレッドが終了するのを待つためのこのRustコードが機能しないのはなぜですか?

  18. 18

    この非同期関数が非同期で動作しないのはなぜですか?

  19. 19

    非同期メソッドでコードをデバッグできないのはなぜですか?

  20. 20

    非同期メソッドでコードをデバッグできないのはなぜですか?

  21. 21

    非同期メソッドでコードをデバッグできないのはなぜですか?

  22. 22

    このメインメソッドが終了しないのはなぜですか?

  23. 23

    クローンメソッドが構築中のクローンで非最終メソッドを呼び出さないのはなぜですか

  24. 24

    view.findViewsWithText(..)メソッドがなくなったビューを返さないのはなぜですか?

  25. 25

    抽象メソッドを同期できないのはなぜですか?

  26. 26

    pthread_joinがブロックせず、スレッドが終了するのを待たないのはなぜですか?

  27. 27

    非同期関数がAngularで終了するのを待つ

  28. 28

    「待機メソッド」がTestNGテストケースに失敗しないのはなぜですか?

  29. 29

    2番目のJS非同期関数呼び出しが1番目の終了を待つのはなぜですか?

ホットタグ

アーカイブ