angular 的同步http请求

     最近在用angular 的ng-zorro 的cascader 级联选择器的时候发现。cascader 在使用 rxjs 的 subscribe 异步传入数据时,cascader的级联选择加载不出来数据。于是想到如何使用同步来获取数据。

首先,获取数据,我写在 service 里。

 getGroupsList(): Observable<GroupsInfo> {
    return (this.common.http.get<GroupsInfo>('assets/mock-data/groupsinfo.json')
      .pipe(
        catchError(this.common.handleError)
      ));
  }

  public async getGroupsInfo(): Promise<Node[]> {
    return new Promise<Node[]>( resolve => {
      const groups: Array<Node> = [];
      this.getGroupsList().subscribe((list: GroupsInfo) => {
        for (const i of list.data) {
          groups.push(this.convert(i));
        }
        resolve(groups);
      });
    });
  }

getGroupList() 是正常的rxjs 获取json数据。 common.http 是我自己封装的一个http请求器。

getGroupInfo() 去取Observable数据流。但返回一个Promise。

最后component里面获取


                
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Spring Boot 是一个非常流行的 Java web 开发框架,它提供了很多便捷的功能,其中就包括前后端交互。 一般来说,前后端交互有两种方式:同步和异步。同步是指前端发送请求后,等待后端响应后再继续执行,而异步则是指前端发送请求后,不需要等待后端响应,可以继续执行其他操作。 Spring Boot 支持的前后端交互方式包括: 1. 使用模板引擎(如 Thymeleaf)渲染页面,使用 Controller 处理前端请求和响应。 2. 使用 RESTful API 实现前后端分离,前端发送 HTTP 请求到后端,后端返回 JSON 格式的数据。 下面简单介绍一下这两种方式的实现方法: 1. 使用模板引擎 首先,需要在 pom.xml 文件中添加 Thymeleaf 的依赖: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> ``` 然后,在 Controller 中处理请求和响应: ```java @Controller public class HomeController { @RequestMapping("/") public String home(Model model) { model.addAttribute("message", "Hello, World!"); return "home"; } } ``` 这个例子中,我们在 Model 中添加了一个属性 message,然后返回的字符串 home 就是模板引擎的文件名,Spring Boot 会自动查找模板引擎目录下的 home.html 文件,并将 Model 中的数据渲染到模板中。 2. 使用 RESTful API 首先,在 pom.xml 文件中添加 Spring Web 的依赖: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> ``` 然后,在 Controller 中添加方法处理请求: ```java @RestController public class ApiController { @RequestMapping("/api") public String api() { return "Hello, World!"; } } ``` 这个例子中,我们使用了 @RestController 注解声明这是一个 RESTful API,然后使用 @RequestMapping 注解指定了请求的路径和方法,返回的字符串就是 JSON 格式的数据。 可以使用 Postman 等工具发送 HTTP 请求来测试这个 API。 以上就是 Spring Boot 中实现前后端交互的两种方式。需要注意的是,前端的实现方式和后端的实现方式是相对独立的,前端可以使用任何框架(如 Vue、React、Angular 等)来实现,只需要按照 RESTful API 的规范来发送请求和处理响应即可。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值