const passo1 = (ctx, next) =>{
ctx.valor1 = 'mid1'//adc dentro desse objeto
next()
}
const passo2 = (ctx, next) =>{
ctx.valor2 = 'mid2'
next()
}
const passo3 = ctx => ctx.valor3 = 'mid3'
const exec = (ctx, ...middlewares) =>{
const execPasso = indice =>{//executa o índice
//se middlwares == true e índice middlw menor que o comprimento passado
middlewares && indice < middlewares.length &&
middlewares[indice](ctx, () => execPasso(indice +1))
}
execPasso(0)//dispara a execução
}
//vai juntar em 1 array
const ctx = {}
exec(ctx, passo1, passo2, passo3)//forma interativa
console.log(ctx);
//não executa porque o passo passo3 não chama os outros
exec(ctx, passo3, passo2, passo1)
Palavras chave:
JavaScript Middlewares 01
Прамежкавы JavaScript JavaScript 01
JavaScript Middlewares 01
JavaScriptミドルウェア01
JavaScript Middlewares 01