使用node-mongodb-native时如何保持DRY

gui*_* 桂林 8 mongodb node.js

db.open(function(err,db){
  //handle error
  db.collection("book",function(err, collection){
     //handle error
     collection.doSomething1(... function(err, result){
         //handle error
         collection.doSomething2(... function(err, result){
            ...
         })
     })
  })
})
Run Code Online (Sandbox Code Playgroud)

但是每当我们想要做某事时我们都不会写db.open,但是我们必须确保在我们使用它时已经打开了db.

我们仍然不喜欢每次在相同的代码中处理错误.

我们也可以重用该集合.

像这样

errorHandledDB.doSomething1("book",... function(result){
    errorHandledDB.doSomething2("book",...function(result){
        ...
    })
})
Run Code Online (Sandbox Code Playgroud)

gui*_* 桂林 1

回答我自己的问题。因为没有更好的选择,所以我自己做,我开始一个项目来简化它,检查node-mongoskin