nano-promises
[![Build Status](https://img.shields.io/travis/romeovs/nano-promises.svg?style=flat-square)][travis] [![Coverage Status](https://img.shields.io/coveralls/romeovs/nano-promises.svg?style=flat-square)][coveralls] [![Dependencies](https://img.shields.io/davi
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.

nano-promises

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.

Example

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]) {
    console.log(body)
  })
  .catch(function(err) {
    console.error(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.

async/await

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!

Attribution

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.

License

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)
Downloads
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 0
Dependencies (0)
None
Dev Dependencies (8)

Copyright 2014 - 2016 © taobao.org |