Promise之你看得懂的Promise

Promise源码详解 学习知识要善于思考,思考,再思考。 —— 爱因斯坦

1.回调地狱 曾几何时,我们的代码是这样的,为了拿到回调的结果,不得不callback hell,这种环环相扣的代码可以说是相当恶心了

let fs = require('fs') fs.readFile('./a.txt','utf8',function(err,data){ fs.readFile(data,'utf8',function(err,data){ fs.readFile(data,'utf8',function(err,data){ console.log(data) }) }) }) 复制代码 终于,我们的盖世英雄出现了,他身披金甲圣衣、驾着七彩祥云。好吧打岔儿了,没错他就是我们的Promise,那让我们来看看用了Promise之后,上面的代码会变成什么样吧

let fs = require('fs') function read(url){ return new Promise((resolve,reject)=>{ fs.readFile(url,'utf8',function(error,data){ error && reject(error) resolve(data) }) }) }

read('./a.txt').then(data=>{ return read(data) }).then(data=>{ return read(data)
}).then(data=>{ console.log(data) }) 复制代码 如上所示http://click.aliyun.com/m/1000005516/

你可能感兴趣的:(Promise之你看得懂的Promise)