Чтобы ответить на ваш вопрос относительно REQUEST
-scope:
@Injectable({ scope: Scope.REQUEST })
export class CatsService {}
Это означает, что для каждого запроса, который обрабатывается Controller
, который зависит от CatsService
, создается новый экземпляр CatsService
будет создан. Это также подразумевает, что любая другая служба / контроллер, зависящая от CatService
, будет иметь область действия REQUEST
, даже если они определены с областью действия по умолчанию (то есть одноэлементной). Это важно помнить, так как это может повлиять на ваше приложение, см. this и that для получения дополнительной информации.