关于Promise概念介绍及解决回调地域问题

57次阅读

共计 710 个字符,预计需要花费 2 分钟才能阅读完成。

第 1. Promise 是构造函数,可以 new Promise(), 构造一个 Promise 实例;
第 2. Promise 上有两个函数,resolve(成功之后回调函数)与 reject(失败之后回调函数)函数;

第 3. 在 Promise 构造函数的 prototype 上有个.then() 方法,只要构造 Promise 函数后就有此方法;

第 4. new Promise() 表示是一个异步操作;
4.1 状态 1:异步执行成功,调用 resolve 函数;
4.2 状态 2:异步执行失败,调用与 reject 函数;
4.3 操作结果,无法使用 return 返回给调用者,只能使用回调函数形式,返回给调用者;
第 5

###### 需求: 给路径,读取文件
// 具体的异步操作
// 当 new 实例后,会立刻执行 function 里的函数方法
//promise 放到方法中按需执行

const fs = required('fs')

function getFileByPath (fpath){var promise = new Promise(function(resolve,reject){
        //toDosomething
        fs.readFile(fpath,'utf-8',(err,dataStr) => {if (err) return reject(err)// 失败回调
            resolve(dataStr)// 成功回调
        })
    });
    return promise //return 出去
}
var p = getFileByPath('/files/2.txt')// 调用方法

p.then(function(data){console.log(data)
},function(err){console.log(err.message)
})

`

正文完
 0