同步API vs 异步API:理解并选择适合你业务的调用方式
同样的API接口,根据其不同的操作顺序能为开发者带来怎样的帮助呢? 同步API的意思是只有当前API执行完成后,才能继续执行下一个API。按照“console.log(“before”);”——“console.log(“after”);”的顺序进行,通俗意义上讲,这就好比到餐馆点餐时,一个指定的服务员被分配来为你服务,当点完餐时,服务员将订单送到厨房并在厨房等待厨师制作菜着,当厨师将菜着烹饪完成后,服务员将菜着送到你的面前,至此服务完成,此时这个服务员才能服务另外的客人。 同步模式是指一个服务员某一时间段只能服务于一个客人的模式;而异步API的意思是当前API的执行不会阻塞后续代码的执行。“console.log(“before”);”、“setTimeout(() => {”、“ console.log(“last”);”、“}, 2000);”、“console.log(“after”);”,所有程序可以同时进行,通俗意义上讲,这就好比到餐馆点餐时,在点餐后服务员将你的订单送到厨房,此时服务员没有在厨房等待厨师烹饪菜着,而是去服务了其他客人,当厨师将你的菜着烹饪好后,服务员再将菜着送到你的面前。异步模式是指一个服务员同时可以服务多个客人的模式。 同步API和异步API在使用中,有以下几个基本的区别 1、获取返回值 同步API可以直接从返回值中拿到API执行的结果,但是异步API是不可以的,异步API不会阻塞后面代码的执行。 // 同步 function sum(n1, n2) { return n1 + n2; } const result = sum(10, 20); // 异步 function getMsg() { setTimeout(function () { return { msg: “Hello Node.js” }; }, 2000); } const msg = getMsg(); 2、代码执行顺序 司步API从上到下依次执行,前面代码会阻塞后面代码的执行;异步API不会等待API执行完成后再向下执行代码。 for (var i = 0; i […]