1.1-Promise介绍
-
ES6教程传送门:ES6 入门教程
-
1.Promise是什么?
-
Promise
是
一个构造函数
, 用于创建Promise对象-
Promise对象:可以理解为一个处理异步操作的容器
-
-
-
2.Promise作用:解决回调地狱
-
回调地狱:异步回调 层层嵌套
-
1.Promise作用 : 解决回调地狱问题
回调地狱 : 异步回调 层层嵌套
*///需求: 依次读取 文件 a.txt , b.txt , c.txt 这三个文件内容
const fs = require('fs');//(1)能直接按照顺序写吗? : 不能,因为异步操作 是无序的
fs.readFile("./data/a.txt", 'utf-8', (err, data) => {
if(err){
console.log(err);
}else{
console.log(data);
};
});fs.readFile("./data/b.txt", 'utf-8', (err, data) => {
if(err){
console.log(err);
}else{
console.log(data);
};
});fs.readFile("./data/c.txt", 'utf-8', (err, data) => {
if(err){
console.log(err);
}else{
console.log(data);
};
});
//(2)解决方案 : 在回调函数中嵌套执行
//弊端 : 形成回调地狱(异步回调 层层嵌套,非常麻烦且不便于维护)
//读取文件A
fs.readFile("./data/a.txt", 'utf-8', (err, data) => {
if(err){
console.log(err);
}else{
console.log(data);
//A读取成功之后开始读取B
fs.readFile("./data/b.txt", 'utf-8', (err, data) => {
if(err){
console.log(err);
}else{
console.log(data);
//B读取成功之后开始读取C
fs.readFile("./data/c.txt", 'utf-8', (err, data) => {
if(err){
console.log(err);
}else{
console.log(data);
}
});
}
});
}
}); -
1.2-Promise基本使用
-
1.实例化Promise对象
-
作用: 将异步操作代码 放入 Promise中
-
resolve:异步操作 成功状态
-
reject : 异步操作 失败状态
-
-
new Promise((resolve,reject)=>{ 你的异步操作 })
-
-
2.调用
then()
方法处理异步操作结果-
promise对象.then((data)=>{ 处理成功数据 },(err)=>{ 处理失败信息 });
-
-
-
/*
1.Promise是一个构造函数 , 返回一个Promise对象
2.使用流程
(1)实例化Promise对象 : 将异步操作放入Promise中
(2)调用then() 方法: 处理异步操作结果
*/const fs = require('fs');
/** 1. 实例化Promise
* @description:实例化Promise
* @param {Function} (resolve:成功处理函数,reject&#