从Feathers钩子获取服务句柄或挂载点

时间:2016-11-15 07:26:04

标签: feathersjs

我想实现一个后挂钩,它用全局唯一的{serviceName}:{id}形式的ID替换记录ID(其中id是典型的MySQL数字ID)。

但是,我找不到从钩子访问serviceName或服务挂载点的方法。有可能吗?

如果没有,我会坚持在钩子实例化过程中将服务名称作为参数传递,但这样做是手动的,容易出错。我希望有更好的方法:)

1 个答案:

答案 0 :(得分:1)

您可以迭代所有服务,然后返回与钩子上下文匹配的路径:

app.service('myservice').before({
  create(hook) {
    const service = this;
    const allServices = hook.app.services;

    const path = Object.keys(allServices).find(
      currentPath => allServices[currentPath] === service
    );
  }
});