我使用具有内部动作的自定义混合器。
我在自己的操作中使用中间件。
但是mixins的行为属于中间件。
需要使用一些鸭子类型检查来忽略中间件中的混合动作。
molecular-io的示例:
if (action.name === 'io.call') {
return next(ctx);
}
是否存在更安全,更强大的方法来检查中间件中的混合动作?
答案 0 :(得分:1)
更好的方法是在操作定义中使用自定义属性,然后在中间件中对其进行检查。
在mixins中:
actions: {
find: {
myFeature: true,
handler(ctx) {}
}
}
在中间件中:
{
localCall(next, action) {
if (action.myFeature) {
// ...
}
return next;
}
}