如果我想确保HTTP调用是同步的,因为在检索数据之前,不能进行其他操作,该怎么办?
为什么没有在Angular 2或更高版本中编写同步调用的选项?
答案 0 :(得分:4)
因为这是一种反模式。
Http-Calls可能总是失败(因为任何通过网络的东西 - 这是你作为程序员无法实现的),如果它们失败,整个应用程序都会失败,不会给用户带来任何后退或至少是视觉通知是错的。
即使他们没有失败,他们也可能需要很长时间才能使您的申请不会被冻结,因此用户不会将其关闭或将手机靠在墙上。
如果你真的想让事情同步,你可以使用几个RXJS运算符;见:
How can I make one RxJS Observable sequence wait for another to complete before emitting?