nodejs 同步和异步
nodejs 中同步和异步
两种方法的区别如下:
- 同步方法: 等待每个操作完成,然后只执行下一个操作
- 异步方式: 从不等待每个操作完成,而是只在第一步执行所有操作
nodejs 中同步异步思想
- 同步: 可以拿吃饭和看电视来举例子,同步就是先吃完饭,吃完饭后再看电视,不能边看边吃,这就是同步
- 异步: 同样拿上边的例子来说,异步就是边吃饭边看电视,看电视和吃饭同时进行,这样举例就应该很清楚了
同步异步案例
同步代码如下:
var fs = require("fs");
var data = fs.readFileSync('./index.txt');
console.log(data.toString());
console.log("结束!");
同步代码执行结果为:
大家可以看到 同步方法: 等待每个操作完成,然后只执行下一个操作
异步代码如下:
var fs = require("fs");
fs.readFile('index.txt', function (err, data) {if (err) return console.error(err);console.log(data.toString());
});console.log("结束!");
异步代码执行结果为:
而 异步方式: 从不等待每个操作完成,而是只在第一步执行所有操作
一个简单的小案例了
解决异步问题方法大致包括:回调函数、Promise、pub/sub模式(事件模式)、异步库控制库(例如async、when)、Generator等…
nodejs 同步和异步相关推荐
- NodeJs同步、异步加载
同步 var fs = require("fs");var data = fs.readFileSync('input.txt');console.log(data.toStrin ...
- 深入理解nodejs中的异步编程
文章目录 简介 同步异步和阻塞非阻塞 javascript中的回调 回调函数的错误处理 回调地狱 ES6中的Promise 什么是Promise Promise的特点 Promise的优点 Promi ...
- 同步与异步,回调与协程
目录 概念上下文: 同步的方式: 异步加回调的方式: 异步协程方式: 总结: 这里分享一个 协程原理到实现,全局分析丨协程的切换与调度视频点击查看:「链接」 正文 本文主要介绍在网络请求中的同步与异步 ...
- 同步与异步,阻塞与非阻塞的区别
1.概念剖析 相信很多从事linux后台开发工作的都接触过同步&异步.阻塞&非阻塞这样的概念,也相信都曾经产生过误解,比如认为同步就是阻塞.异步就是非阻塞,下面我们先剖析下这几个概念分 ...
- 同步、异步、堵塞、非堵塞和函数调用及I/O之间的组合概念
在我们工作和学习中,经常会接触到"同步"."异步"."堵塞"和"非堵塞"这些概念,但是并不是每个人都能将它们的关系和区别 ...
- setstate是同步还是异步_【vert.x准备篇1】同步和异步,阻塞和非阻塞概念澄清
为了能更好的理解vert.x的线程模型,我们必须要先明确几个概念:同步(Synchronous)和异步(Asynchronous),阻塞(Blocking)和非阻塞(Non-Blocking).关于这 ...
- 同步等待 异步等待_异步/等待和承诺的解释
同步等待 异步等待 The async / await operators make it easier to implement many async Promises. They also all ...
- boot定时任务开启和关闭 spring_SpringBoot中的定时任务的同步与异步你确定真的知道?...
定时任务调度功能在我们的开发中是非常常见的,随便举几个例子:定时清除一些过期的数据,定时发送邮件等等,实现定时任务调度的方式也十分多样,本篇文章主要学习各种实现定时任务调度方式的优缺点,以便为日后选择 ...
- 这次,让我们捋清:同步、异步、阻塞、非阻塞
继上一篇说透I/O模型后,我们来谈谈网络 I/O 经常会伴随的几个容易令人混淆的概念:同步.异步.阻塞.非阻塞的区别. 这篇写完之后铺垫就差不多了,之后就正式开始 Netty 深度剖析了,敬请期待,嘻 ...
最新文章
- apple id无法创建_我如何为我的Apple收藏夹创建网站
- (7)Zabbix分布式监控proxy实现
- python HDF5 h5py 的用法
- 【原】东拼西凑PBR(1):PBR基础
- 14个顶级开发社区 [程序员]
- 编译安装LNMP Centos 6.5 x64(6.6 x64) + Nginx1.6.0 + PHP5.5.13 + Mysql5.6.19
- ajax 传递数组与接收
- python paramiko_python中的paramiko模块
- YOLOv1 《You Only Look Once》论文笔记
- 银行业务软件测试,银行业务软件系统测试研究
- 深入理解Java虚拟机——JVM类加载机制(类加载过程和类加载器)
- java api 开发_Java开发人员应该知道的前20个库和API
- 如何用vc6编译ffmpeg, 并单步调试。
- php反序列化绕过,浅谈php反序列化漏洞
- [oracle] Instant Client 即时客户端
- 注入技术--LSP劫持注入
- Unity3D 太空射击游戏学习笔记
- 目标检测数据集PASCAL VOC详解
- Linux【网络库】| 【02 <netdb.h>】以及网络常用结构体
- PS调出怀旧雨中特写的非主流照片
热门文章
- 华为平板连接linux服务器,大疆造了台android平板_连华为平板都连不上大疆
- php mail方法_php邮件发送的两种方式
- 如何收割淘宝逛逛人群
- 数学建模学习(102):成分数据分析之中心对数比转换【已修改】
- Lane_GCN翻译
- html唤醒手机app,怎么在html5中唤醒APP
- 凭什么 Python 是办公自动化的王者?学会了Python还需要996吗?
- 4000多页合集的计算机、网络、算法知识总结,五面拿下阿里飞猪offer
- java jdk安装在_java JDK安装
- 人工智能治疗儿童感冒表现优异;苹果称替APP背了大数据杀熟的锅