Лучший шаблон для возврата http ответов с наблюдаемыми - PullRequest
1 голос
/ 14 мая 2019

Я пишу сервер на TypeScript и ищу в Интернете, я не нашел много о написании контроллера, который возвращает http-ответ с использованием наблюдаемых.У меня есть черновик, и он работает, но мне интересно, является ли это правильным подходом, особенно в долгосрочной перспективе, или есть более эффективные схемы, которым я мог бы следовать.В моем контроллере я возвращаю обещание от службы:

  public getUser = (): Promise<User> => {
    return this._service.findById('id');
  }

Служба:

  public findById(id: string): Promise<User> {
    return this._repo.findById(id).pipe(
      map(res => res ? Response.ok(res) : Response.notFound(`id: ${id} not found.`))
    ).toPromise()
      .catch((err: Error) => Response.internalServerError(err));
  }

и репо:

  public findById(id: string): Observable<User | null> {
    return from(User.findById(id));
  }

Когда дело доходит до записиБолее длинные функции в моем сервисе я мог бы создать новую наблюдаемую информацию, выполнить там логику и затем вернуть результат в качестве обещания.о чем ты думаешь?Можно ли это улучшить?Заранее спасибо

...