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