Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 如何在react js中使函数暂停执行n秒?_Reactjs_Ecmascript 6 - Fatal编程技术网

Reactjs 如何在react js中使函数暂停执行n秒?

Reactjs 如何在react js中使函数暂停执行n秒?,reactjs,ecmascript-6,Reactjs,Ecmascript 6,我只是尝试在每次使用冒泡排序进行交换后暂停执行,以便看到更改,因此如何使函数暂停执行几秒钟,即在reactjs中使用python等效的sleep()函数 bubbleSort(){ const {array} = this.state; for(let i = 0; i < array.length; i++){ for(let j = 0; j < array.length-i-1; j++){

我只是尝试在每次使用冒泡排序进行交换后暂停执行,以便看到更改,因此如何使函数暂停执行几秒钟,即在reactjs中使用python等效的sleep()函数

bubbleSort(){
        const {array} = this.state;
        for(let i = 0; i < array.length; i++){
            for(let j = 0; j < array.length-i-1; j++){
                if(array[j] > array[j+1]){
                    let temp = array[j];
                    array[j] = array[j+1];
                    array[j+1] = temp;
                    //halt for an interval on n seconds
                }
            }
        }   
    }
bubbleSort(){
const{array}=this.state;
for(设i=0;i数组[j+1]){
设temp=array[j];
数组[j]=数组[j+1];
阵列[j+1]=温度;
//以n秒为间隔暂停
}
}
}   
}

您可以使用承诺
设置超时
创建自定义
睡眠
功能,并在
异步/等待
气泡排序
中使用它,如下所示:-

let state={array:[2,3,1,9,-23,4,5,6]}
异步函数bubbleSort(){
const{array}=状态;
for(设i=0;i数组[j+1]){
设temp=array[j];
数组[j]=数组[j+1];
阵列[j+1]=温度;
等待睡眠(1000);
console.log('stopped');
}
}
}   
返回状态数组;
}
功能睡眠(持续时间){
返回新承诺((解决)=>{
设置超时(解析、持续时间)
})
}
泡泡运动();

这是否回答了您的问题?你可以使用useffecthooks@MoshFeu我读到这不是使用date的最有效方法,也许是使用setTImeout()的某种方法?这正是我想要的,非常感谢!与我标记的问题的答案完全相同:)