2017-10-16 14 views
1

下のクラスでは、関数whatToDoの値が結果として表示され、それに応じて関数additionmultiplicationが呼び出されます。コード内の競合状態をどのように処理できますか?

条件:ここでは、以下のコードでwhatTodoaddition何である場合は機能additionは呼び出されません。

質問:どうすればいいですか?条件

class SomeClass{ 

let whatToDo: string; 

public result(){ 
     if (this.whatToDo == 'additon'){ 
      return this.whatToDo; 
      } 
     else if (this.whatToDo == 'multiplcation'){ 
       return this.whatToDo; 
} 

} 
public addition(){ 
    this.whatToDo = 'addition'; 
    //do something 
} 

public multiplication(){ 
    this.whatToDo = 'multiplication'; 
    //do something 
} 
} 

ユースケース - whatTodoを追加()を呼び出す前にadditionとして割り当てられているので、それはwhatToDoundefinedので、簡単に追加()がまだないことを区別することができるということであることを教えてください、私が欲しいものcalled.This達成する。それはちょうど、タイプミスのように見える

+1

'関数result()は実際には何も表示されません –

+0

あなたの質問をより良く説明してください。この質問は全く意味がありません。 – timakro

+0

あなたのコードを呼び出す例と、それを呼び出すのに期待される出力を共有できますか? – Fenton

答えて

1

、試してみてください。

public result(){ 
     if (this.whatToDo == 'addition'){ 
      return this.whatToDo; 
      } 
     else if (this.whatToDo == 'multiplication'){ 
       return this.whatToDo; 
} 

をあなたのコード内の単語「additon」と「multiplcation」をスペルミス。

+0

オシロスコープを無視してください – Aditya

+0

コードは今や何も返されないので、本当ですか?何も返さずにelseの後にelseを追加してみてください –