嵌套setTimeout()或者只是增加时间会更好吗?

时间:2015-08-25 19:16:37

标签: javascript asynchronous timer settimeout

让我们说我想要一个功能,在执行3秒后,控制台记录“嘿”。经过2秒钟后,控制台记录“嘿,再次。”。

这可以通过两种方式完成:

第一种方式:

(function(){
    setTimeout(function(){
        console.log("Hey.");
        setTimeout(function(){
            console.log("Hey again.");
        },2000);
    },3000);
})();

在这一个中,我们设置了一个3秒计时器,当3秒钟通过时,我们控制台记录“嘿”,我们设置一个新的2秒计时器。当2秒钟过去时,我们会控制日志“嘿,再次。”。

第二种方式:

(function(){
    setTimeout(function(){
        console.log("Hey.");
    },3000);
    setTimeout(function(){
        console.log("Hey again.");
    },5000)
})();

在这个中,我们设置一个3秒的计时器,控制台记录“嘿”。我们设置了一个5秒的计时器,控制台记录“再次嘿。”。两个计时器同时设置为 ,因为JavaScript是异步的。并且它们都开始同时执行,所以当第一个计时器通过3秒后,第二个计时器只剩下2秒,因为它与第一个计时器同时运行。 / p>

哪种方式是“更好的做法”?

0 个答案:

没有答案