返回带有可观察对象的HTTP响应的最佳模式

时间:2019-05-14 19:45:25

标签: typescript design-patterns observable

我正在用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));
  }

一旦要在我的服务中编写更长的函数,我可以创建一个新的可观察对象,在其中进行逻辑处理,然后将结果作为承诺返回。你怎么看?可以改善吗? 预先感谢

0 个答案:

没有答案