Promise support for Seneca.js microservices
- Lead Maintainer: Denis Luchkin-Zhou
- Sponsor: Ricepo
This plugin adds support for promises to Seneca, courtesy of Bluebird.
To install, use npm
npm install seneca-as-promisedAdd in your code
require('seneca')()
.use('seneca-as-promised');Behaves exactly like seneca.add(), but supports promise-returning functions.
seneca.addAsync('role:hex,color:red', async function(msg) {
await someAsyncStuff();
return { color: '#FF0000' };
});Actions added via addAsync() have an additional priorAsync method in the
this context, which is a promisified version of this.prior().
Behaves exactly like seneca.act(), but returns a promise. Also supports
callbacks.
const color = await seneca.actAsync('role:hex,color:red');Behaves exactly like seneca.wrap(), but supports promise-returning functions.
seneca.wrapAsync('role:hex', async function(msg) {
const color = await this.priorAsync(msg);
color.format = 'css';
return color;
});Wrappers added via wrapAsync() have an additional priorAsync method in the
this context, which is a promisified version of this.prior().
Copyright (C) 2015-16, Denis Luchkin-Zhou. Licensed under MIT