方法 A 等方法 B 执行完再执行 叫同步调用还是异步调用 JS 默认是同步调用还是异步调用

📅 2026/7/3 18:49:45
方法 A 等方法 B 执行完再执行 叫同步调用还是异步调用 JS 默认是同步调用还是异步调用
方法 A 等方法 B 执行完再执行 叫同步调用还是异步调用 JS 默认是同步调用还是异步调用一、方法 A 等方法 B 执行完再执行 叫同步调用还是异步调用这叫同步调用。简单区分同步调用A 等 B 执行完拿到结果后A 才继续往下执行。排队、阻塞等待异步调用A 告诉 B 去执行不等待 B 的结果A 立刻继续往下执行自己的事情。发个消息就不管了B 执行完通常通过回调或通知告诉 A需要我帮你展开讲讲异步调用的常见实现方式吗比如回调、Promise、async/await 这些。二、JS 默认是同步调用还是异步调用JavaScript 默认是单线程的所以它的基础执行模型是同步的即从上到下一行一行地执行前一行不执行完后一行绝对不执行。但是JS 又有一套非常核心的异步机制Event Loop 事件循环。所以更准确的说法是JS 整体是同步执行代码的但遇到异步任务时会把它们交给浏览器或 Node.js 去处理等时机成熟再拿回主线程执行。举个简单的例子console.log(A);// 同步立即执行setTimeout((){console.log(B);// 异步被挂起等主线程空闲了再执行},0);console.log(C);// 同步立即执行输出结果是A - C - B总结一下普通代码默认是同步的。特定操作如网络请求、定时器、DOM事件、文件读取等默认是异步的。要不要我帮你梳理一下 JS 异步编程的演进过程从回调函数到 Promise 再到 async/await一步步看为什么 async/await 能解决回调地狱的问题。三、async 是什么意思在 JavaScript 中async是asynchronous异步的缩写。它是一个关键字专门用来声明一个函数是“异步函数”。结合我们刚才聊到的内容你可以这样理解它的作用1. 自动包装 Promise只要在一个函数前面加上async这个函数的返回值就会自动变成一个Promise对象。即使你在函数里直接return Hello它也会自动变成Promise.resolve(Hello)。2. 开启“等待”权限async函数内部允许使用另一个关键字await。await的意思是“等待”它能让异步代码看起来像同步代码一样一行一行地执行。举个直观的例子asyncfunctionfetchData(){// await 会让代码在这里“暂停”等待直到请求完成constresponseawaitfetch(https://api.example.com/data);constdataawaitresponse.json();// 等数据解析完再继续returndata;// 最终返回的 data 会被自动包装成 Promise}总结一下async就像是给函数贴了一个标签告诉 JavaScript 引擎“这个函数里面有异步操作请帮我把它变成 Promise并允许我在里面使用await来优雅地等待结果。” 它的核心价值就是让原本复杂的异步代码写起来像同步代码一样直观好读。要不要我帮你对比一下async/await和 Promise 链式调用的写法区别一眼就能看出为什么它能解决回调地狱。