首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >同步和异步编程执行API的方式有什么区别?

同步和异步编程执行API的方式有什么区别?

原创
作者头像
曾高飞
修改2025-06-01 08:16:53
修改2025-06-01 08:16:53
1270
举报

同步API是指只有当前API执行完成后,才能继续执行下一个API。这就好比到餐馆点餐时,一个指定的服务员被分配来为你服务,当点完餐时,服务员将订单送到厨房并在厨房等待厨师制作菜肴,当厨师将菜肴完成后,服务员将菜肴送到你的面前,至此服务完成,此时这个服务员才能服务另外的客人。步模式是指一个服务员某一时间段只能服务于一个客人的模式。

异步API是指当前API的执行不会阻塞后续代码的执行。这就好比到餐馆点餐时,在点餐后服务员将你的订单送到厨房,此时服务员没有在厨房等待厨师烹饪菜肴,而是去服务了其他客人,当厨师将你的菜肴烹饪好后,服务员再将菜肴送到你的面前。异步模式是指一个服务员同时可以服务多个客人的模式。

1.同步API的执行方式

同步API的执行方式是指代码从上到下一行一行执行,下一行的代码必须等待上一行代码执行完成后才能执行,示例代码如下。

代码语言:txt
复制
console.log('before');

cogsole.log('after');

上述代码中,只有第1个console.log0方法执行完成后,才能执行第2个console.log0方法。同步代码中每行代码按照顺序依次执行。

2.异步API的执行方式

异步API的执行方式是指代码在执行过程中某行代码需要耗时,代码的执行不会等待耗时操作完成后再去执行下一行代码,而是不等待直接向后执行。异步代码的执行结果需要通过回调函数的方式处理示例代码如下。

代码语言:txt
复制
console.log('before');

setTimeout(() => {

consohy.log('1ast');

}, 2000);

console.log('after');

上述代码使用console.log0方法输出before,然后开启一个定时器,在2秒之后使用console.log()输出last,在程序结尾输出after。这段代码的依次打印结果是before=after-last。这是因为定时器为异步APl,程序不需要等待它执行完成,而是继续向后执行代码输出after。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档