什么是JavaScript同步模式?

原文链接:https://note.noxussj.top/?source=helloworld


什么是同步模式?

大部分单线程任务都会排队执行任务,这就称为同步模式(Synchronous)。同步模式执行中,只涉及到调用栈(Call stack)。

现实生活举例 就像验核酸一样,我们要排队一个个去验(按顺序排队),当只有一条通道(也就是单线程)时,因为要打开健康码、行程码、核酸码,如果有些人手机网络不好,或者不懂的如何操作,就会耽误很长的时间,导致后面的排队的人员一直处于等待阶段。

优点

这种模式编写的代码易于阅读和理解,代码的执行顺序都是从上往下一个个执行。

缺点

有些任务执行的时间过长,则后面的任务都会处于等待中,则形成阻塞。

基础案例

1console.log('global begin') 2 3function bar() { 4 console.log('bar task') 5} 6 7function foo() { 8 console.log('foo task') 9 10 bar() 11} 12 13foo() 14 15console.log('global end')

image

点赞
收藏

评论区

加载中...

相关推荐

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

什么是JavaScript异步模式

什么是异步模式?不会等待当前任务执行完毕,才会去执行下一个任务,这就是异步模式(Asynchronous)。开启异步后,就会跳过本任务,开始执行下一个任务,后续的逻辑一般会通过回调函数的方式定义。异步模式执行中,涉及到调用栈(Callstack)、消息队列

什么是JavaScript 调用栈?

原文链接:什么是调用栈?我们写的JS代码大多数都是同步模式,也就是从上往下依次执行。后一个任务必须要等前一个任务结束才能开始执行,程序的执行顺序和我们代码的编写顺序是完全一致的。程序执行中每遇到一个任务都会先入栈,当前入栈的任务执行完毕后就会出栈。本来栈的

什么是 JavaScript 单线程?

原文链接:什么是JavaScript单线程?单线程是指当存在多个任务时候,所有任务都必须排队并且按照顺序执行。这里就会有同学问为什么不是多线程?假设是多线程,同时执行一些任务,某个任务进行了该dom的修改,而某个任务进行了该dom的删除,这样就会出现一些问

JavaScript:再谈Tasks和Microtasks

JavaScript是单线程,也就是说JS的堆栈中只允许有一类任务在执行,不可以同时执行多类任务。在读js文件时,所有的同步任务是一条task,当然了,每一条task都是一个队列,按顺序执行。而如果在中途遇到了setTimeout这种异步任务,就会将它挂起,放到任务队列中去执行,等执行完毕后,如果有callback,就把callback推入到Tasks中去,