我如何处理代码中的竞争条件?

时间:2017-10-16 10:27:59

标签: javascript typescript race-condition

在下面的类中,函数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
}
}

使用案例 - 在调用add()之前将whatTodo指定为addition时,应该告诉whatToDoundefined,以便可以轻松区分添加()尚未调用。这就是我想要的。

1 个答案:

答案 0 :(得分:1)

看起来只是一个错字,请尝试:

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

您在代码中拼错了“additon”和“multiplcation”字样。