如何正确检测中间件中的 mixin 操作
How to properly detect mixin action in middlewares
我使用具有内部操作的自定义混合。
我在自己的操作上使用中间件。
但是mixins的行为属于中间件。
需要使用一些鸭子类型检查来忽略中间件中的混合操作。
molecular-io 示例:
if (action.name === 'io.call') {
return next(ctx);
}
是否存在更安全可靠的方法来检查中间件中的 mixin 操作?
更好的方法是在动作定义中使用自定义 属性 并在中间件中检查它。
在混合中:
actions: {
find: {
myFeature: true,
handler(ctx) {}
}
}
在中间件中:
{
localCall(next, action) {
if (action.myFeature) {
// ...
}
return next;
}
}
我使用具有内部操作的自定义混合。
我在自己的操作上使用中间件。
但是mixins的行为属于中间件。
需要使用一些鸭子类型检查来忽略中间件中的混合操作。
molecular-io 示例:
if (action.name === 'io.call') {
return next(ctx);
}
是否存在更安全可靠的方法来检查中间件中的 mixin 操作?
更好的方法是在动作定义中使用自定义 属性 并在中间件中检查它。
在混合中:
actions: {
find: {
myFeature: true,
handler(ctx) {}
}
}
在中间件中:
{
localCall(next, action) {
if (action.myFeature) {
// ...
}
return next;
}
}