首页 > TAG信息列表 > promisify
Express中promisify将异步api转换成promise的形式
原代码 app.get('/todo', (req, res) => { fs.readFile('./db.json', 'utf8', (err, data) => { if(err) { res.status(500).end() } else { res.status(200).json(JSON.parse(data))Promisify的简要实现
用例 将一个使用回调函数实现异步操作的方法Promisify后,可以使用.then来管理回调 function timer(timeout, callback) { setTimeout(callback, timeout) } // 延迟指定的时间后调用 callback 函数 // 回调方式使用 timer(1000, () => { console.log('after 1000ms') }) //基于es6的promisify
es6原生支持了promise规范,可以使用new Promise()方法得到一个promise对象。 promise的简单使用 (() => new Promise((resolve, reject) => setTimeout(() => resolve('jianyong'), 2000)))().then(data => console.log(data))12上面一行恶心的代码等价于: function getName() {