[![Build Status](][travis] [![Coverage Status](][coveralls] [![Dependencies](
Last updated 4 years ago by romeovs .
ISC · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install nano-promises 
SYNC missed versions from official npm registry.


Build Status Coverage Status Dependencies devDependencies license gitter

nano-promises is a lightweight wrapper around the fabulous nano driver. It provides the same features but uses promises instead of callbacks.


import nano from 'nano';
import prom from 'nano-promises';

var db = prom(nano('http://localhost:5984')).db.use('test');

db.insert({ 'crazy': true }, 'rabbit')
  .then(function([body, headers]) {
  .catch(function(err) {

nano-promises promises always resolve to a value of the form [body, headers] or reject to a value of the form error. So it is important to use desructuring in the then handler of the promise.


The above example does not seem convincing to swith to a promise-based approach. nano-promises becomes very handy when used together with the async/await proposal for ES7:

var isRabbitCrazy = async function() {
  try {
    var [doc] = await db.get('rabbit');
    return doc.crazy;
  } catch(err) {
    console.log('error fetching rabbit:', err);
    throw err;

I don't know about you but I find this very expressive!


I love the nano library. It has a very good api design and there's a lot of work put into it!

The code in this repo is mostly adapted from co-nano, but with promises instead of thunks.


This code is licensed under the ISC license

Current Tags

  • 1.2.0                                ...           latest (4 years ago)

2 Versions

  • 1.2.0                                ...           4 years ago
  • 0.0.1                                ...           5 years ago
Maintainers (2)
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 0
Dependencies (0)
Dev Dependencies (8)

Copyright 2014 - 2016 © |