クロージャの使用は、グローバル変数を設定せずに、exit関数を完了するために、もう一度クリックしてください

  APP機能が頻繁に使用されています、最初のクリック出口ポップアッププロンプト、アプリを終了するにはもう一度クリック

 

従来の慣行は、フラグコードを設定する前に、以下の通りであります

  VAR ableToOut = NULL;
    api.addEventListener({
        名前: 'keyback'
    }関数(ERR、右){
        (もし!ableToOut){
            ableToOut = {タイムアウト2500}。
            戻りapi.toast({
                MSG:api.appName +「:アプリケーションを終了するには、再度クリック」
                期間:2000、
                場所:「ボトム」
            });
        }他{
            setTimeout(()=> {
                ableToOut = NULL;
            }、ableToOut.timeout)。
            api.closeWidget({
                サイレント:真
            });
        }
    });
グローバル変数によって、コントロールに、同監視対象イベントの異なる振る舞いをコントロールするために、ここにabletooutオブジェクトを終了するように設定されています。オブジェクトが終了して終了するために存在した場合。別のスタンディングオーダーのアイデアは、フラグがtrueの場合、出口であってもよいことです。
 
ここでは、すべてのあなたは、変数を追加する必要があります。必要に正と負の判定フラグのこのタイプの他の部分である場合、グローバル汚染が、問題があります。
 
変数の汚染を避けるために、我々はクロージャの形をとることができます。
    api.addEventListener({
        名前: 'keyback'
    }関数(ERR、右){
      //リターンは、機能ごとにクリックされています
  フラグ= falseをしましょう。
  リターン 
  (もし!フラグ){
             api.toast({
                MSG:api.appName +「:アプリケーションを終了するには、再度クリック」
                期間:2000、
                場所:「ボトム」
            });
    フラグ= TRUE。
     setTimeout(()=> {
                 フラグ= falseは、
            } 2000年)。
        }他{
            api.closeWidget({
                サイレント:真
            });
        }
    });
第二は、この機能を使用すると、機能属性が指定を行う使用してオブジェクトの特性であります
 

おすすめ

転載: www.cnblogs.com/yaya666/p/11608632.html
おすすめ