//-----------------------------------------------------------------------------
//假设 存在一个核心操作 接收参数coreArg
//建立洋葱模型,包裹N层中间件
//要求:
// 在核心代码执行执之前必须要有序执行中间件
// 核心代码执行后层层返回
// 每个中间件都能接收到coreArg
function receiveMiddleware () {
//拿到中间件队列
let middlewareList = Array.prototype.slice.call(arguments);
//将中间件队列改造为函数层层嵌套形式
//[a,b,c,d] => a(b(c(d(core)))) By reduce
let tiggerPip = middlewareList.reduce((a, b) => (core) => a(b(core)));
let tiggerPipWitchCoreHandler = tiggerPip(() => { console.log('我是核心操作') });
return tiggerPipWitchCoreHandler;
}
const middleware1 = (next) => (lastMDarg) => {
console.log('lm 1 start')
next(lastMDarg);
console.log('lm 1 end')
};
const middl