接受回调并返回promise的函数:不好吗?

时间:2018-11-15 14:56:33

标签: javascript callback promise

我正在开发一种SDK。通过设计,所有异步功能都应同时使用:回调和承诺。例如:

function asyncOp(arg, cb) {
...
}
asyncOp(1, (err, res) => { ... }) // returns undefined when you pass a callback
asyncOp(1).then(...) // returns a promise when callback is undefined

这种界面有什么不好的地方吗?您能否提供任何提供类似界面的流行库示例?

1 个答案:

答案 0 :(得分:1)

MongoDB的node.js API可以做到这一点。

至于“有什么不好的东西”:这会使您的库代码难于阅读。还有一些要说的是一致性,而不是支持不良模式,但这是基于观点的。