有没有sleep比使用以下pausecomp函数更好的方法来设计JavaScript (从这里开始)?
function pausecomp(millis)
{
var date = new Date();
var curDate = null;
do { curDate = new Date(); }
while(curDate-date < millis);
}
Run Code Online (Sandbox Code Playgroud)
这不是JavaScript中Sleep的重复- 动作之间的延迟 ; 我希望在函数中间实现真正的睡眠,而不是在执行代码之前的延迟.
根据文档中的解释:
setState()不会立即改变this.state,但会创建挂起状态转换.调用此方法后访问this.state可能会返回现有值.
无法保证对setState的调用进行同步操作,并且可以对调用进行批处理以获得性能提升.
因此,由于setState()是同步的,并且无法保证其同步性能.是否存在setState()同步的替代方案.
例如
//initial value of cnt:0
this.setState({cnt:this.state.cnt+1})
alert(this.state.cnt); //alert value:0
Run Code Online (Sandbox Code Playgroud)
由于该alert值是先前的值,因此可以alert value:1使用的替代方法是什么setState().
Stackoverflow上几乎没有问题类似于这个问题,但没有我能找到正确答案的地方.