Promise函数可以设置预回调函数,就是当结果为成功或者失败的时候可以根据调用者的传递的参数进行指定的回调。
const fs = require('fs')function getFileContent(){ 这里的resolve和reject都是预回调函数,由Promise传递进来 return new Promise(function(resolve,reject){ fs.readFile('./file/1.txt', 'utf-8', (err, dataStr) => { if(err) throw reject(err) resolve(dataStr) }) })}getFileContent().then(function(data){ 当执行成功的时候回调该函数 console.log("success = " + data);}, function(data){ 当执行失败的时候回调该函数 console.log("loss = " + data);});
通过调用.then的方式来传递预处理的函数。
执行步骤分析:
1.现在内存中创建 getFileContent() 函数
2.调用 getFileContent() 函数,并且创建 Promise 对象
3.返回 Promise 对象给调用 getFileContent()函数的实例
4.通过.then()来设置成功和失败时候的回调函数
5.执行创建Promise()时传递的function函数,并给该函数的形参上的resolve和reject进行赋值