Js: setTimeOut without function argument?

Js: setTimeOut without function argument?

Why do we need to pass a function to Javascript setTimeOut https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers.setTimeout

Why cannot we do sg simple like

setTimeOut(1000);

Can I pass an empty or nonexistant function in there?

I want to simply wait in a for loop after each iteration.

 

回答1

Javascript is single threaded. You can use setTimemout to postpone an operation, but the thread will continue. So

function some() {
  doStuff();
  setTimeout(otherStuff, 1000);
  doMoreStuff();
}

will run doStuff and doMoreStuff subsequently, and will run otherStuff after a second. That's why it's useless and impossible to use setTimeout as a delay per se.

If doMoreStuff should be postponed, you should make that the callback for the delay:

function some() {
  doStuff();
  setTimeout(doMoreStuff, 1000);
}

or both otherstuff and doMoreStuff delayed:

function some() {
  doStuff();
  setTimeout(function () {
               otherStuff();
               doMoreStuff()
             }, 1000);
}

Maybe my answer to this SO-question is usefull too. 

 

作者:Chuck Lu    GitHub    
posted @   ChuckLu  阅读(93)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2020-01-20 Git rename from index.lock to index failed
2018-01-20 头脑王者 物理化学生物
2018-01-20 头脑王者 艺术,电影,体育,时尚,动漫
2018-01-20 头脑王者 音乐
2018-01-20 头脑王者 地理
2018-01-20 头脑王者 文学
2017-01-20 根据日期计算出周一和周日
点击右上角即可分享
微信分享提示