MZ - 更新节点.js
将节点.js现代化到目前的ECMAScript规格! 节点.js不会将其API更新到ES6+ 一会儿。 。 。 . 这个库是收录了节点.js的API各个方面的包装.
安装和使用
设定 mz 做为依附并安装.
npm i mz
然后前缀相关的 require()编号与 mz/数字 :
var fs = require('mz/fs')
fs.exists(__filename).then(function (exists) {
if (exists) // do something
})
使用 ES2017, 这将允许您在节点核心 API 下清洁使用 async 函数 :
const fs = require('mz/fs')
async function doSomething () {
if (await fs.exists(__filename)) // do something
}
认证
许多节点方法被转化为承诺. 任何被腐烂或不同步的属性都会被简单地取而代之. 这些模块是:
child_processcryptodnsfs(用户数)graceful-fs(如果有)readlinezlib
var exec = require('mz/child_process').exec
exec('node --version').then(function (stdout) {
console.log(stdout)
})
承诺引擎
mz 用途 any-promise。 。 。 .
财务问题
我能用这个生产吗?
是的,节点4.x船 有稳定的保证支持。 对于旧的发动机,
你也许应该安装 自己的承诺执行 并注册到
require('any-promise/register')('bluebird')。 。 。 .
这会让我的应用更快吗?
不,也许慢一点.
我能补充更多的功能吗?
当然. 打开一个问题.
目前,这些计划将最终支持:
- 节点中的新API.js中旧版本节点中没有的
- ECMAScript7 流线