0
このコードブロックでは、グローバル値が1であるため、「if(flag == 0)」文は実行されません。どのようにしてフラグのグローバル値を変更できますか?TypeScriptでは、グローバル変数の値をローカルでどのように変更するのですか?
this.auth0.client.login()
は非同期です:
このコードブロックでは、グローバル値が1であるため、「if(flag == 0)」文は実行されません。どのようにしてフラグのグローバル値を変更できますか?TypeScriptでは、グローバル変数の値をローカルでどのように変更するのですか?
this.auth0.client.login()
は非同期です:
あなたの主な問題は、ということです。そのため、コールバック関数を渡しています。これが何を意味するのか
は、操作の順序があるということである。
let flag = 1
。flag
はまだ1つの
if (flag == 0)
// this.auth0.client.login()
どういうわけかロジックを物事の非同期側に移動する必要があります。これにより、あなたのメインのlogin()
がis.auth0.client.login()
が完了したときに発射できるコールバックを受け入れるか、または約束を使用する必要があります。
あなたのif(flag == 0) {}
テストは、コールバック内にある必要があります。そして、おそらくあなたは新しいローカル変数を作成したくないかもしれません。flag = 0;
let flag = 0;
グローバル値が1であるため、「(フラグ!= 0) * "は意味をなさない。 '1!== 0'。 –
1) 'flag!= 0'を' flag!== 0'に変更します。そして、そのステートメントは、フラグが1にセットされたときに常に発動すべきです。2)loginメソッドの非同期性のために、そのセクションが起動すると 'flag'は決して変更されません。 – VtoCorleone