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等…