node.js同步是一步步执行代码异步就是先执行同步代码,异步暂存异步储存区,同步执行完再执行异步
const fs = require('fs');
const path = require('path');
const a_path = path.join(__dirname, 'file', 'a.txt');
const b_path = path.join(__dirname, 'file', 'b.txt');
const c_path = path.join(__dirname, 'file', 'c.txt');
-
解决问题就是利用代码先后来弄 ```fs.readFile(a_path, “utf8”, (err, data) => { if
(err) throw err; console.log(data); fs.readFile(b_path,
“utf8”, (err, data) => {
if (err) throw err;
console.log(data);
fs.readFile(c_path, “utf8”, (err, data) => {
if (err) throw err;
console.log(data);}) }) }) ```
-
这个就可以解决一点 但是会是回调地狱 第二种解决方案是最普遍用的
function readFile(path) { return new Promise((resolve, reject) => { fs.readFile(path, 'utf8', (err, data) => { resolve(data); }) }) } let p1 = readFile(a_path); p1.then(data => { console.log(data); return readFile(b_path); }).then(data => { console.log(data); return readFile(c_path); }).then(data => { console.log(data); }) ```