?EventLoopJS是单线程的,也就是,同一时间只能做一件事情。所以一旦遇到大量任务或者耗时的任务时,比如加载高清图片,网页就会“假死”,无法响应用户的行为。为了防止这种阻塞,才有了同步和异步的概念。而EventLoop,即事件循环机制,就是我们经常使用异步的原理。同步任务非耗时的任务,指的是在主线程上排队执行的那些任务只有前一个任务执行完毕,才能执行后一个任务console.log('111')console.log('222')console.log('333')上述就是简单的同步任务,会按照顺序输出111,222,333异步任务耗时任务,异步任务由JS委托给宿主环境进行执行当异步任务
?EventLoopJS是单线程的,也就是,同一时间只能做一件事情。所以一旦遇到大量任务或者耗时的任务时,比如加载高清图片,网页就会“假死”,无法响应用户的行为。为了防止这种阻塞,才有了同步和异步的概念。而EventLoop,即事件循环机制,就是我们经常使用异步的原理。同步任务非耗时的任务,指的是在主线程上排队执行的那些任务只有前一个任务执行完毕,才能执行后一个任务console.log('111')console.log('222')console.log('333')上述就是简单的同步任务,会按照顺序输出111,222,333异步任务耗时任务,异步任务由JS委托给宿主环境进行执行当异步任务
1.javascript是单线程的语言javascript是一门单线程执行的编程语言。也就是说,同一时间只能做一件事情。如下:如果有多个任务要执行,执行其他任务时,其他任务都要进行等待52.png1.1单线程执行任务队列的问题如果前一个任务非常耗时,则后续的任务不得不一直等待,从而导致程序假死的问题。2.同步任务和异步任务为了防止某个耗时任务导致程序假死的问题,javascript把待执行的任务分为了两类。同步任务又叫做非耗时任务,指的是在主线程上排队执行的那些任务只有前一个任务执行完毕,才能执行后一个任务异步任务又叫做非耗时任务,异步任务由javascript委托给宿主环境进行执行当异步任务
1.javascript是单线程的语言javascript是一门单线程执行的编程语言。也就是说,同一时间只能做一件事情。如下:如果有多个任务要执行,执行其他任务时,其他任务都要进行等待52.png1.1单线程执行任务队列的问题如果前一个任务非常耗时,则后续的任务不得不一直等待,从而导致程序假死的问题。2.同步任务和异步任务为了防止某个耗时任务导致程序假死的问题,javascript把待执行的任务分为了两类。同步任务又叫做非耗时任务,指的是在主线程上排队执行的那些任务只有前一个任务执行完毕,才能执行后一个任务异步任务又叫做非耗时任务,异步任务由javascript委托给宿主环境进行执行当异步任务