2017-01-02 13 views
-1

関数の実行を継続するには、ユーザー入力を取得する必要があります。関数をwaitForUserInput()で待機させるにはどうすればよいですか?関数が他の関数がangular2で終了するのを待つ方法

誰がIAMは、ここで私はwaitForUserInput(まで待機する必要があります)

myFunction(){ 
    doSomeOperation(); 
    result=waitForUserInput(); // Here a prompt will be shown, 
    if(result==1) 
    { 
    operation1(); 
    } 
    else if(result==2) 
    { 
    operation2(); 
    } 
    else if(result==3) 
    { 
    operation3(); 
    } 
} 
// This function will show a prompt and user can input values  
waitForUserInput(){ 
    showUserInputPrompt(); 
    if(input==someValue1) 
    { 
    return 1; 
    } 
    else if(input==someValue2) 
    { 
    return 2; 
    } 
    else if(input==someValue3) 
    { 
    return 3; 
    } 
} 

を立ち往生これはどこで部品

内で定義されたシンプルなfunctiuonに観測を統合するために私を助けることができる私はこの使用して観測を解くことができるかどうか処理が完了する前に完了します

+0

最初の関数は 'waitForUserInput()'を繰り返し呼び出します。私がオプション3を望むなら、私は3回3回入力しなければならない。 – jonrsharpe

+0

目的はアイデアを伝えることでした –

+0

あなたはそれに本当に成功しませんでした! – jonrsharpe

答えて

2

これはできません。ブラウザーで機能を停止することはできません。 ブラウザには1つのUIスレッドしかありません。これを停止すると、アプリケーションで何も起こりません。したがって、サポートされていません。

達成したい目標を達成するには、別の戦略を選択する必要があります。 。あなたの呼び出された関数がコールバックを可能にしている場合

+0

私はそれを観測可能にする方法はありますか? –

+0

「それ」とは何ですか? 。 。 .. –

+0

waitForUserInput() –

0

あなたはこの=>

this.instance.saveEditData()済(this.CustomSave)のような何かを行うことができます。

関数CustomSave(){}

CustomSaveは親であり、私はその中saveEditDataを呼び出しました。しかし、saveEditDataが完了したときにだけロジックを呼び出すようにロジックを変更しました。

関連する問題