首页 > web前端 > js教程 > 同步 VS 异步 Javascript

同步 VS 异步 Javascript

Susan Sarandon
发布: 2024-12-09 15:42:12
原创
512 人浏览过

今天,我将撰写有关同步和异步 Javascript 的文章。
首先,定义;
同步任务按顺序发生,即您必须完成第一项工作才能继续进行下一项工作。另一方面,您可以按任何顺序甚至同时执行异步作业。

异步是一种非阻塞架构,因此一个任务的执行不依赖于另一个任务。任务可以同时运行。

同步是一种阻塞架构,因此每个操作的执行都取决于它之前的操作的完成。每个任务在进入下一个迭代之前都需要一个答案。

基本上,Javascript 是一种单线程、阻塞、同步脚本语言,用于使网页具有交互性。
单线程和阻塞意味着 javascript 一次只能执行一个任务,即程序将按顺序执行任务,并且每个任务必须在下一个任务开始之前完成。

虽然 JavaScript 本质上是同步的,但它还是受益于异步过程。长时间运行的 JavaScript 函数可能会导致用户界面 (UI) 或服务器在函数返回之前无响应,从而导致用户体验不佳。
然而,在某些情况下,用户可以从阻止编程中受益,例如,在进行在线支付时。

JavaScript 的好处在于它提供了两全其美的优点:单线程和多线程、阻塞和非阻塞。凭借这种灵活性,程序员可以使用单一编程语言而不是两种编程语言编写代码 - 一种用于同步操作,另一种用于异步操作。

异步编程通过减少调用函数和返回该函数的值之间的延迟时间来增强用户体验。异步编程在现实世界中转化为更快、更无缝的流程。
例如,用户希望他们的应用程序运行速度快,但从 API 获取数据需要时间。在这些情况下,异步编程有助于更快地加载应用屏幕,从而改善用户体验。

另一方面,同步编程对开发人员来说是有利的。同步编程更容易编写代码。它在所有编程语言中都得到了很好的支持,并且作为默认的编程方法,开发人员不必花时间学习可能会出现错误的新东西。

如何在异步和同步编程之间进行选择
在决定采用哪种方法时,请考虑异步编程的适应性和同步编程的严格性。

异步编程是多任务处理者,从一个待办事项转移到另一个待办事项,并在每项任务完成时提醒系统。具有单轨思维的同步编程功能,以严格的顺序一次检查一项任务。

异步编程允许同时完成更多事情,通常用于通过提供轻松、快速的加载流程来增强用户体验。
同步编程最适合在反应式系统中使用。虽然它对开发人员来说编码更简单并且被每种编程语言所认可,但同步是资源密集型的并且会减慢速度。

下面,我将举一些例子来更好地解释同步和异步编程。
同步编程示例

Sychronous VS Asynchronous Javascript

上述代码的输出是;
日产 2003 真实
{ 名称:'Nissan',年份:2003,好:true }
Adedamola 33 假
被称为神300真的男人

在上面的代码片段中,我所做的只是声明对象并将值分配给键。
您会注意到给出的输出与上面编写的代码是一致的。这意味着,如果声明的第一个对象出现错误,则其余代码将不会运行,因为它应该同步运行。

异步编程示例

Sychronous VS Asynchronous Javascript

代码的输出是;
一个

四个
文件附加成功
一个新文件已创建
两个

这是异步编程的一个例子,因为任务不是按顺序执行的,而且一个任务没有等待另一个任务完成才执行。
理想情况下,从上面编写的代码来看,1 应该位于 2 之前,2 应该位于 3 和 4 之前。另外,在追加之前应该创建一个新文件,但每个任务都是根据执行时间来执行的。
因此,它进一步证实了异步编程允许同时完成更多事情的主张。

以上是同步 VS 异步 Javascript的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:dev.to
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板