UNPKG

stashback

Version:

Stashes callbacks for later execution

23 lines (19 loc) 562 B
const Chance = require('chance'); module.exports = (stashback) => { // Simulate publishing a request to some remote system and getting a decoupled response function publish(message) { setTimeout(() => { const chance = new Chance(message.userId); onMessage({ callbackId: message.callbackId, user: { id: message.userId, name: chance.name() } }); }, 1000); } function onMessage(message) { stashback.unstash(message.callbackId, (err, cb) => { cb(err, message.user); }); } return { publish, onMessage, }; };