导入
RxJS 简介
让我们来学习 RxJS。
在上一个项目中,我们遇到了一行仍然有些神秘的代码。我指的是 app.component.ts 文件中的这一行:
1this.cocktail.search(query).subscribe((response: any) => { 2 this.drinks = response.drinks; 3});
subscribe() 函数到底做了什么?我们知道它能提供请求返回的响应,但其具体工作原理还不太清楚。实际上,Angular 在背后使用了一种叫做 RxJS 的技术。
什么是 RxJS?
RxJS 是一个独立于 Angular 的库。Angular 团队非常喜欢 RxJS,因此决定将其集成到框架中。它是一个完全独立的库。有关该库的更多信息可以参考 这里。
RxJS 的作用是让处理异步任务变得更加简单。你可以把它看作是 JavaScript 中 Promise 和 async/await 语法的一种替代方案。不过,你并不一定要使用 RxJS,它是可选的。如果你更习惯使用 Promise 或 async/await,那就完全可以继续使用它们。
为什么推荐使用 RxJS?
使用 RxJS 主要有两个原因。第一,它让数据管理更加方便。借助 RxJS,我们可以清晰地看到数据的流动过程。第二,测试变得更容易。我们很快就会通过一些例子来深入理解这些优势。
学习 Angular 最大的障碍之一就是掌握 RxJS。可以说,这是最难学的部分。一旦你掌握了 RxJS,那么学习 Angular 的其他部分就会变得轻松自如。