2017-10-16 138 views
1

在下面的類中,函數result()將顯示變量的值 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我想要什麼ot實現。

+1

'功能結果()將顯示「什麼都沒有 –

+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,如果不返回任何內容 –