Peomise简介
- Promise对象可以解决回调地狱的问题
- Promise 是异步编程的一种解决方案,比传统的解决方案(回调函数和事件)更合理和更强大
- Promise可以理解为一个容器,里面可以编写异步请求的代码
- 从语法上说,Promise 是一个对象,从它可以获取异步操作的消息
- Promise简单使用
- Promise是“承诺”的意思,实例中,它里面的异步操作就相当于一个承诺,而承诺就会有两种结果,要么完成了承诺的内容,要么失败。
所以,使用Promise,分为两大部分,首先是有一个承诺(异步操作),然后再兑现结果。
第一部分:定义“承诺”
// 实例化一个Promise,表示定义一个容器,需要给它传递一个函数作为参数,而该函数又有两个形参,通常用resolve和reject来表示。该函数里面可以写异步请求的代码
// 换个角度,也可以理解为定下了一个承诺
let p = new Promise((resolve, reject) => {
// 形参resolve,单词意思是 完成
// 形参reject ,单词意思是 失败
fs.readFile('./a.txt', 'utf-8', (err, data) => {
if (err) {
// 失败,就告诉别人,承诺失败了
reject(err);
} else {
// 成功,就告诉别人,承诺实现了
resolve(data);
}
});
});
第二部分:获取“承诺”的结果
// 通过调用 p 的then方法,可以获取到上述 “承诺” 的结果
// then方法有两个函数类型的参数,参数1表示承诺成功时调用的函数,参数2可选,表示承诺失败时执行的函数
p.then(
(data) => {},
(err) => {}
);
具体代码:
// p.then(表示成功时执行的函数, 表示失败时执行的可选函数);
p.then(
(data) => {
console.log('xxx', data);
},
(err) => {
console.log(err);
}
);
Promise简介和简单实用
最新推荐文章于 2024-05-26 09:45:58 发布