Используйте значения Dynamic c запроса в сервисах stati c с использованием Inversify - PullRequest
0 голосов
/ 20 марта 2020

Можно ли создать контейнер с одноэлементными службами и значениями 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?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...