赞 | 55 |
VIP | 0 |
好人卡 | 0 |
积分 | 34 |
经验 | 9754 |
最后登录 | 2024-3-7 |
在线时间 | 461 小时 |
Lv3.寻梦者
- 梦石
- 0
- 星屑
- 3414
- 在线时间
- 461 小时
- 注册时间
- 2013-12-7
- 帖子
- 333
|
本帖最后由 ekmomo 于 2019-2-22 18:23 编辑
说实话……没看懂……既然大for循环里都没用到i,干嘛要循环呢?
你如果是想要setTimeout完了以后继续执行一段代码的话的话要把回调写在setTimeout里。
如
-
- var cb = function (){
- console.log(2);
- }
- setTimeout(function() {
- console.log(1);
- cb();
- }, 1000);
- //输出 1
- //输出 2
复制代码
如果要循环执行多次的话,应当用setinterval,并给setinterval设置一个计数器。当计数器等于n时清除这个setinterval。
当然你也可以进行如下操作
- var count = 0;
- function sto(){
- if (count < 5){
- setTimeout(function() {
- console.log(1);
- sto();
- }, 1000);
- count++;
- }
- }
- sto();
- //输出1
- //输出1
- //输出1
- //输出1
- //输出1
复制代码
然而,这两个方法对于一个MV游戏来说基本等于字面意义上的没用……要延时执行只需要用到requestAnimationFrame。 |
|