Angular 19 的 Resource API:数据管理的革命性变革

作者:API传播员 · 2026-01-10 · 阅读时间:3分钟

Angular 19 引入了全新的 Resource API,这一功能使开发者能够直接在 Angular 的响应式系统中高效管理异步数据流。通过提供内置的状态跟踪信号(如“空闲”、“加载”、“错误”、“已解决”),Resource API 不仅减少了样板代码的编写,还确保了数据管理的被动性和可预测性。这篇文章将带您了解如何使用 Resource API 来优化数据管理流程。


确保使用 Angular 19

在开始之前,请确保您的项目已升级到 Angular 19。以下是安装和创建新项目的步骤:

npm install -g @angular/cli@latest
ng new angular-resource-api-demo
cd angular-resource-api-demo

接下来,更新项目的依赖关系:

ng update @angular/core @angular/cli

项目目录结构

在使用 Resource API 之前,我们需要先了解项目的基本目录结构。以下是一个示例目录:

src/
app/
services/
user.service.ts
components/
user-list/
user-list.component.ts
user-list.component.html

创建服务以管理用户数据

接下来,我们将创建一个服务,用于通过 Resource API 获取用户数据。

import { Injectable } from '@angular/core';
import { resource } from '@angular/core';

@Injectable({ providedIn: 'root' })
export class UserService {
  userResource = resource({
    loader: async (params) => {
      const response = await fetch(/api/users?sort=${params.request.sort});
      if (!response.ok) {
        throw new Error('Failed to fetch users');
      }
      return await response.json();
    }
  });  reloadUsers(sortOrder: 'asc' | 'desc') {
    this.userResource.reload({ request: { sort: sortOrder } });
  }
}

代码说明

  1. loader 函数:这是一个异步函数,用于根据传入的参数从 API 获取用户数据。
  2. reloadUsers 方法:当需要更改排序顺序时,可以调用此方法来重新加载用户数据。

最佳实践

loader 函数中使用 abortSignal,以便在请求被取消时能够优雅地处理相关逻辑。这有助于提高应用的性能和用户体验。


总结

Angular 19 的 Resource API 为开发者提供了一种高效管理异步数据流的新方式。通过内置的状态跟踪信号和简化的代码结构,开发者可以更轻松地实现被动且可预测的数据管理流程。在实际开发中,结合最佳实践(如使用 abortSignal)可以进一步提升应用的稳定性和性能。

原文链接: https://medium.com/@sehban.alam/angular-19s-resource-api-revolutionizing-data-management-225fdb94de00