广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >node同步与异步的区别有哪些
  • 752
分享到

node同步与异步的区别有哪些

2024-04-02 19:04:59 752人浏览 八月长安
摘要

这篇“node同步与异步的区别有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“node

这篇“node同步与异步的区别有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“node同步与异步的区别有哪些”文章吧。

node同步与异步的区别是:同步就是程序自上而下的运行,上一步执行完后下一步才能得到执行;而异步是指不用等待上面的运行完后再运行下面的操作,异步编程可以依托于回调来实现,但并不是回调后的程序就是异步了。

教程操作环境:windows10系统、nodejs 12.19.0版本、Dell G3电脑。

node同步与异步的区别是什么

同步就是程序自上而下运行,而异步就是不用等待上面的运行完后再运行下面的操作。异步编程依托于回调来实现,但不能说使用了回调后程序就异步化了。

同步的英文:sync(synchronization)

异步的英文:async(asynchronous)

同步API:只有当前API执行完成后,才能继续执行下一个API

console.log('before'); 
console.log('after');

异步API:当前API的执行不会阻塞后续代码的执行

console.log('before');
setTimeout(
   () => { console.log('last');
}, 2000);
console.log('after');

同步api, 异步API的区别( 获取返回值 )

同步API可以从返回值中拿到API执行的结果, 但是异步API是不可以的(好像在异步API里面写return也是拿不到结果的?)

// 异步
  function getMsg () { 
      setTimeout(function () { 
          return { msg: 'Hello node.js' }
      }, 2000);
  }
  const msg = getMsg (); //函数没有写return 默认是返回 undefined
cnsole.log(msg); // 输出的是 undefined,因为定时器还没执行完就执行了输出

回调函数

自己定义函数让别人去调用。

// getData函数定义
 function getData (callback) {}
  // getData函数调用
 getData (() => {});

function getMsg (callback) {
    setTimeout(function () {
        callback ({ msg: 'Hello Node.js' })
    }, 2000);
}
getMsg (function (msg) { 
    console.log(msg);
});

同步API, 异步API的区别(代码执行顺序)

同步API从上到下依次执行,前面代码会阻塞后面代码的执行

异步API不会等待API执行完成后再向下执行代码

代码执行顺序分析

javascript分为同步代码执行区和异步代码执行区,它们之间有回调函数队列连接。首先,JavaScript会执行同步代码区的全部内容,然后再去异步代码区执行代码,查找异步代码区执行完成的代码块,找到就马上去找到这个异步代码块对应的回调函数放到同步代码执行区来执行

Node.js中的异步API

读取文件API,有回调函数。

事件监听的API,也有回调函数。(事件处理函数就是回调函数,事件监听API就是异步API)

如果异步API后面代码的执行依赖当前异步API的执行结果,但实际上后续代码在执行的时候异步API还没有返回结果,这个问题要怎么解决呢?

比如有个需求:依次读取A文件、B文件、C文件(读完A再读B接着读C,不能同时读取)

如果实现上面这个需求就会导致将B读取的操作放到A的回调函数里面,而读取C的操作放到B的回调函数里面,导致嵌套层次很多(回调地狱)

const fs = require('fs');
fs.readFile('./1.txt', 'utf8', (err, result1) => {
console.log(result1)
fs.readFile('./2.txt', 'utf8', (err, result2) => {
console.log(result2)
fs.readFile('./3.txt', 'utf8', (err, result3) => {
console.log(result3)
})
})
});

以上就是关于“node同步与异步的区别有哪些”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网JavaScript频道。

--结束END--

本文标题: node同步与异步的区别有哪些

本文链接: https://www.lsjlt.com/news/97377.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • node同步与异步的区别有哪些
    这篇“node同步与异步的区别有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“node...
    99+
    2022-10-19
  • java同步和异步的区别有哪些
    Java中同步(Synchronous)和异步(Asynchronous)的区别主要体现在程序的执行方式和处理结果上。1. 执行方式...
    99+
    2023-08-09
    java
  • ajax同步和异步的区别有哪些
    这篇文章主要讲解了“ajax同步和异步的区别有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“ajax同步和异步的区别有哪些”吧! ...
    99+
    2022-10-19
  • PHP同步与异步的区别
    本文操作环境:Windows7系统、PHP7.1版、DELL G3电脑PHP同步与异步的区别同步:多个任务之间有先后顺序执行, -个执行完下个才能执行。异步:多个任务之间没有先后顺序, 可以同时执行,有时候一个任务可能要在必要的时候获取另一...
    99+
    2019-07-12
    PHP
  • java同步与异步的区别是什么?
    概念:同步:所有的操作都做完,才返回给用户。这样用户在线等待的时间太长,给用户一种卡死了的感觉(就是系统迁移中,点击了迁移,界面就不动了,但是程序还在执行,卡死了的感觉)。这种情况下,用户不能关闭界面,如果关闭了,即迁移程序就中断了。异步:...
    99+
    2015-05-13
    java教程 java 同步 异步
  • PHP同步与异步的区别是什么
    这篇文章主要介绍“PHP同步与异步的区别是什么”,在日常操作中,相信很多人在PHP同步与异步的区别是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PHP同步与异步的区别是什么”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-25
  • Python中同步与异步的区别是什么
    今天就跟大家聊聊有关Python中同步与异步的区别是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1. “同步”和“异步”是什么意思?Web 应...
    99+
    2022-10-19
  • java中同步与异步区别是什么
    一、同步与异步概念:(推荐:java视频教程)同步:所有的操作都做完,才返回给用户。这样用户在线等待的时间太长,给用户一种卡死了的感觉(就是系统迁移中,点击了迁移,界面就不动了,但是程序还在执行,卡死了的感觉)。这种情况下,用户不能关闭界面...
    99+
    2017-01-07
    java 同步 异步
  • 异步请求和异步调用的区别有哪些
    这篇文章主要讲解了“异步请求和异步调用的区别有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“异步请求和异步调用的区别有哪些”吧!异步请求和异步调用的区别...
    99+
    2022-10-19
  • es6与node的区别有哪些
    今天小编给大家分享一下es6与node的区别有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一...
    99+
    2022-10-19
  • 异步计数器与同步计数器有什么区别
    本篇文章为大家展示了异步计数器与同步计数器有什么区别,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。操作环境:windows7系统、Dell G3电脑。同步计数器同步计数器指的是被测量累计值,其特点是...
    99+
    2023-06-06
  • javascript中异步和同步有什么区别
    这篇文章给大家介绍javascript中异步和同步有什么区别,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。区别:在同步中,发出一个功能调用时,必须一件一件事做,等前一件做完了才能做下一件事;而在异步中,当一个异步过程调...
    99+
    2023-06-15
  • java中异步和同步有什么区别
    java中异步和同步有什么区别?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Java的优点是什么1. 简单,只需理解基本的概念,就可以编写适合于各种情况的应用程序;2. 面向对...
    99+
    2023-06-14
  • node、nvm与npm有哪些区别
    这篇文章主要介绍“node、nvm与npm有哪些区别”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“node、nvm与npm有哪些区别”文章能帮助大家解决问题。 ...
    99+
    2022-10-19
  • Ajax中同步与异步之间的区别分别是怎样的
    Ajax中同步与异步之间的区别分别是怎样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。请求方式,分为GET与POST: GET 最为常见的H...
    99+
    2022-10-19
  • java异步和同步的区别是什么
    这篇文章主要介绍“java异步和同步的区别是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“java异步和同步的区别是什么”文章能帮助大家解决问题。区别异步和同步的区别一般是调用方是否需要等待结果...
    99+
    2023-06-30
  • Mysql异步复制、同步复制、半同步复制的区别
    这篇文章主要介绍“Mysql异步复制、同步复制、半同步复制的区别”,在日常操作中,相信很多人在Mysql异步复制、同步复制、半同步复制的区别问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望...
    99+
    2022-10-18
  • java中的异步交互与同步交互的区别是什么
    同步交互:指发送一个请求,需要等待返回,然后才能够发送下一个请求,有个等待过程。异步交互:指发送一个请求,不需要等待返回,随时可以再发送下一个请求,即不需要等待。免费视频教程推荐:java免费视频教程两者区别:一个需要等待,一个不需要等待,...
    99+
    2022-04-30
    java入门 java 异步交互 同步交互 区别
  • kafka同步发送和异步发送有哪些异同点
    Kafka的同步发送和异步发送方式有以下异同点: 异同点: 发送方式:同步发送和异步发送都是通过KafkaProducer发送消息...
    99+
    2023-10-27
    kafka
  • kafka同步发送和异步发送有什么区别
    Kafka的同步发送和异步发送是两种不同的消息发送方式。1. 同步发送:同步发送是指发送方发送一条消息后,会立即等待服务器的响应。只...
    99+
    2023-10-12
    kafka
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作