js异步有什么好处

一、代码

function timeout(){//1s的执行任务
    var start = new Date();
    while(new Date() - start <= 1000){}
}
function jiedai1(){//同步接待
    timeout();//点单任务
    timeout();//做菜任务
    timeout();//吃饭任务
    timeout();//结账任务
    timeout();//打扫任务
    console.log("接待完成");
}
jiedai1();//客人1
jiedai1();//客人2
jiedai1();//客人3
//接待完三桌客人所需时间 3 * 1000 * 5;

function jiedai2(){//异步步接待
    timeout();//点单任务
    Promise.resolve().then(timeout);//做菜任务
    Promise.resolve().then(timeout);//吃饭任务
    Promise.resolve().then(timeout);//结账任务
    Promise.resolve().then(timeout);//打扫任务
    console.log("接待完成")
}
jiedai2();//客人1
jiedai2();//客人2
jiedai2();//客人3
//接待完三桌客人所需时间 3 * 1000 * 1;

二、解释

1、同步接待客人,我们接待第一个客人后,要等他点单、后厨做菜、客人吃饭、结账了收拾完卫生才能去服务下一桌客人,这样我们服务下一桌客人的时候已经等很久了,客人可能已经走了。
2、异步接待客人,我们接待第一个客人点完单之后,就可以为第二个客人点单了,其他的任务在另一个消息队列中等待,接待完客人,知道每桌客人都点什么菜了再继续为他们上菜、结账、打扫等一系列任务,可以使每桌客人都能被及时服务。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容