// 通過變數a控制js迴圈的暫停和繼續
var a = {}
function sleep() {
return new Promise(resolve => {
a = new Proxy({}, {
get: function (target, key, receiver) {
// console.log(`getting ${key}!`);
return Reflect.get(target, key, receiver);
},
set: function (target, key, value, receiver) {
// console.log(`setting ${key}!`);
//必須在setTimeout裡執行resolve
setTimeout(resolve, 10)
return Reflect.set(target, key, value, receiver);
}
});
})
}
async function demo() {
for (let index = 0; index < 10; index++) {
console.log('Taking a break...');
//必須在setTimeout裡執行a.a = !a.a
setTimeout(() => {
a.a = !a.a
}, 100);
await sleep();
console.log('Two second later');
}
}
demo();
複製程式碼
通過變數a控制for迴圈的暫停和繼續
相關文章
- mpvue小程式迴圈動畫開啟暫停Vue動畫
- Freemarker的迴圈通過assign指令引入計數變數變數
- Android使用MediaRecorder進行錄影,暫停和繼續錄影的VideoUtilsAndroidIDE
- 美通脹增幅放緩!繼續or暫停加息?未來操作或受金融動盪牽制!
- matlab之在迴圈中修改迴圈變數Matlab變數
- C# 迴圈時,操作另外一個程式直到操作完成,迴圈繼續執行C#
- 注意for迴圈中變數的作用域變數
- 解除 for 迴圈時 var 和 let 定義變數的困惑變數
- Java通過join方法來暫停當前執行緒Java執行緒
- Go 陷阱之 for 迴圈迭代變數Go變數
- 15,javase程式碼實戰-迴圈控制——迴圈的終止與過濾(六)Java
- win10印表機暫停了怎麼恢復列印 電腦印表機暫停後怎麼繼續列印Win10
- 04流程控制 for迴圈,while迴圈While
- Mysql儲存過程 變數,條件,迴圈語句用法MySql儲存過程變數
- Dart - 迴圈控制Dart
- Video元件:控制視訊的播放與暫停IDE元件
- 02 . Shell變數和邏輯判斷及迴圈使用變數
- 迴圈內臨時變數問題變數
- 迴圈不變數之荷蘭國旗變數
- 通過video實現視訊暫停時出現圖片IDE
- Python迴圈控制-forPython
- 流程控制 -- for迴圈
- 迴圈輸出——閉包、變數作用域變數
- let const快取for迴圈的中間變數快取變數
- Python迴圈語句中的索引變數作用域Python索引變數
- PLSQL Language Referenc-PL/SQL控制語句-迴圈語句-FOR迴圈-FOR迴圈中的索引SQL索引
- PLSQL Language Referenc-PL/SQL控制語句-迴圈語句-FOR迴圈-下限和上限SQL
- Python的流程控制:迴圈Python
- jQuery - 函式 $().each() 的迴圈控制jQuery函式
- 一次JVM GC長暫停的排查過程JVMGC
- 一次JVM GC長暫停的排查過程!JVMGC
- 如何通過 JavaScript 編寫一個遊戲主迴圈JavaScript遊戲
- C++ While 和 For 迴圈:流程控制全解析C++While
- 注意,ruby迴圈體定義的變數在結束時後,變數還存在變數
- css3 動畫的暫停和重新開始CSSS3動畫
- 14,javase程式碼實戰-迴圈控制——foreach迴圈的使用(五)Java
- 多執行緒迴圈控制欄位失效造成死迴圈的坑執行緒
- Jmeter——迴圈控制器中實現Counter計數器的次數重置JMeter