既然js是单线程的,setTimeout中执行的函数是否是并发?他是否会影响正在进行的线程

setTimeout( ()=>console.log('一秒后执行'), 1000);function sayHello( arg ) {    return new Promise ( (resolve, reject) => {        if( arg === 'success' ) {            for( var i=0; i< 1000; i++) {                if(i===999)
                    resolve(i);
            }
        } else if( arg === 'fail' ) {
            reject('失败');
        }
    })
}console.log('顺序');
sayHello( 'success' ).then( arg => {    console.log(arg)
})

关于这段函数一直不太能理解

如果setTimeout的时间设置短一些,他是否会影响到Promise中for循环?

如果设置了setTimeout,这个函数中执行的函数是并发执行的吗?


守着一只汪
浏览 643回答 1
1回答

Qyouu

不存在并发执行的,你设置的在短也最多是在下个周期开始运行
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Html5