Skip to content

Instantly share code, notes, and snippets.

@Azerothian
Created August 9, 2015 00:20
Show Gist options
  • Save Azerothian/f2b0fdbb8a4dc9ac5d83 to your computer and use it in GitHub Desktop.
Save Azerothian/f2b0fdbb8a4dc9ac5d83 to your computer and use it in GitHub Desktop.
Promise = require "native-or-bluebird"
checkDatabase = (db) ->
return new Promise (resolve, reject) ->
return db.exists (err, exists) ->
if err?
return reject(err);
if exists
return resolve(db)
return db.create (err) ->
if err?
return reject(err)
return resolve(db)
getRouters = (db) ->
return new Promise (resolve,reject) ->
db.temporaryView {
map: (doc) ->
if doc.type=='ConfigRouter'
emit(doc.name, doc);
}, (err,res) ->
return resolve(res)
createDatabase(db)
.then getRouters
.then (res) ->
# do something
var Promise, checkDatabase, getRouters;
Promise = require("native-or-bluebird");
checkDatabase = function(db) {
return new Promise(function(resolve, reject) {
return db.exists(function(err, exists) {
if (err != null) {
return reject(err);
}
if (exists) {
return resolve(db);
}
return db.create(function(err) {
if (err != null) {
return reject(err);
}
return resolve(db);
});
});
});
};
getRouters = function(db) {
return new Promise(function(resolve, reject) {
return db.temporaryView({
map: function(doc) {
if (doc.type === 'ConfigRouter') {
return emit(doc.name, doc);
}
}
}, function(err, res) {
return resolve(res);
});
});
};
createDatabase(db).then(getRouters).then(function(res) {});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment