bonded模块提供了一种简洁的方法,将Node.js风格的回调函数function(arg_1, ..., function(err, result))包装成Promise对象,简化了异步处理流程。以下是如何使用bonded模块将标准的Node.js异步调用包装在Promise中:

示例代码:


var bonded = require('bonded'),

    fs = require('fs'),

    fdMaybe, fd;



// 创建fs.open的Promise变体

fs.openMaybe = bonded.maybe(fs.open);



// 使用新的Promise函数获取文件描述符

fdMaybe = fs.openMaybe('file.txt', 'r');