Execute the middlewares in parallel, not in chain. Copyright © 2017, Simon Sassi
The Parallel Handler can be useful for async stuff that can run in parallel
Same as fisherman.use
const fisherman = require("fisherman-discord.js")
var bot = new fisherman.Fisherman({ prefixes: ['test!'] })
const ParallelHandling = require("./lib/index")
var parallelHandling = new ParallelHandling()
parallelHandling.use({parallelHandle: function(router, callback){
if(router.req.isCommand) console.log(router.req)
callback()
}})
bot.use(parallelHandling)
You have to add a function named parallelHandle
inside your middleware class/object
parallelHandle
is called with two arguments :
Argument | Description |
---|---|
router | A router object (see doc below) |
callback | an async callback (see doc below) |
A simple object, with two properties:
req
: The fisherman requestres
: The fisherman response
A function that call back, where you can pass an error with callback(err)
. You can of course pass true
if you want to just block the middleware chain and don't trigger any fishercode
Since the 1.0.3 version, the setUp handling is available. It's almost same as the Fisherman default setUp handler, but for reference reason, the client is inside a container
Example
setUp(container, next) {
var client = container.client
console.log(client)
next()
next(new Error('throwing an error')) // you can also pass an error
}
Append a middleware to the Parallel Handler
It's a simple badge to show that your middleware is compatible with the Parallel Handler