我正在开发一种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
这种界面有什么不好的地方吗?您能否提供任何提供类似界面的流行库示例?
答案 0 :(得分:1)
MongoDB的node.js API可以做到这一点。
至于“有什么不好的东西”:这会使您的库代码难于阅读。还有一些要说的是一致性,而不是支持不良模式,但这是基于观点的。