Promise是ES6引入的异步编程的新解决方案。语法上Promise是一个构造函数,用来封装异步操作并可以获取其成功或失败的结果。
1)Promise构造函数:Promise(excutor){}
2)Promise.prototype.then方法
3)Promise.prototype.catch方法
1.Promise基本语法
//实例化promise对象
//调用resolve表示成功,调用reject表示失败
const p = new Promise(function (resolve, reject) {
setTimeout(() => {
// let data = '数据库中的用户数据'
let err = '读取失败'
// resolve(data)
reject(err)
}, 1000);
})
//调用promise对象的then方法
//成功的形参value,失败的形参reason
p.then(function (value) {
console.log(value);
}, function (reason) {
console.log(reason);
})
2.Promise读取文件
// 1.引入 fs 模块
const fs =require('fs')
const {
resolve } = require('path')
// 2.调用方法读取文件
// fs.readFile('./为学.md',(err,data)=>{
// // 如果失败,则抛出错误
// if (err) throw err
// // 如果没有出错,则输出内容
// console.log(data.toString());
// })
// 3.使用promise封装
const p=new Promise(function(resolve,reject){