console.warn(data);会打印出黄色警告的data。**
promise有三种情况:初始化,成功,失败(错误)。这里我们使用then方法来演示一下成功和失败后,产出的结果。
通过node.js和promise来实现读取文件。其实就是在原来的基础上面加了node.js中的fs模块与promise中的相关参数相结合的操作。
const fs = require(‘fs’);
//使用 promise 封装
const p = new Promise((resolve,reject)=>{
fs.readFile(“./fs/测试.md”,(err,data)=>{
//如果失败
if(err) reject(err);
//如果成功
resolve(data);
});
});
p.then((value)=>{
console.log(value.toString());
},(reason)=>{
console.log(“失败了!”)
});
就是将ajax封装到了promise里面。
一定要记住以下4种情况。
**1.then方法返回的是非promise类型。
2.then方法返回的是promise类型。
3.then方法返回throw,抛出错误。
4.then方法不返回,默认是undefined,不会报错。**
对于上面,第一种情况,如果then方法返回的结果是非promise类型,并且状态为成功,则返回值为对象成功的值。
第二种情况,对于then方法的返回结果是Promise对象,对象状态由回调函数的执行结果决定。