Можно ли создать контейнер с одноэлементными службами и значениями c на основе текущего сеанса запроса?
Что я пытался сделать:
1) Создайте контейнер
@injectable()
class Service {
constructor(@inject('user') userFactory) {
}
findSomething() {
console.log(this.userFactory())
}
}
const container = new Container();
container
.bind('user')
.toFactory(context => () => context.container.get(TYPES.ReqUser));
container
.bind(Service)
.toSelf()
.inSingletonScope();
2) Создайте промежуточное программное обеспечение запроса:
function(ctx) {
ctx.di = container.createChild();
ctx.di.bind(TYPES.ReqUser).toConstantValue(ctx.state.user);
}
Что мне нужно иметь:
Когда я вызов findSomething
в сервисе Service
, пользователь текущего сеанса запроса должен быть возвращен. Это возможно с Invefsify?