ajax

2020-10-09 14:04 更新

Rx 对象上有一个 ajax 运算符。

const ajax: any;

描述

它使用以下请求对象创建 Ajax 请求的可观察对象: 网址,标头等或网址字符串。

使用 ajax()来获取从 API 返回的响应对象。

  1. import { ajax } from 'rxjs/ajax';
  2. import { map, catchError } from 'rxjs/operators';
  3. import { of } from 'rxjs';
  4. const obs$ = ajax(`https://api.github.com/users?per_page=5`).pipe(
  5. map(userResponse => console.log('users: ', userResponse)),
  6. catchError(error => {
  7. console.log('error: ', error);
  8. return of(error);
  9. })
  10. );

使用 ajax.getJSON()从 API 获取数据。

  1. import { ajax } from 'rxjs/ajax';
  2. import { map, catchError } from 'rxjs/operators';
  3. import { of } from 'rxjs';
  4. const obs$ = ajax.getJSON(`https://api.github.com/users?per_page=5`).pipe(
  5. map(userResponse => console.log('users: ', userResponse)),
  6. catchError(error => {
  7. console.log('error: ', error);
  8. return of(error);
  9. })
  10. );

将 ajax()与对象一起用作参数,并将方法 POST 延迟两秒钟。

  1. import { ajax } from 'rxjs/ajax';
  2. import { of } from 'rxjs';
  3. const users = ajax({
  4. url: 'https://httpbin.org/delay/2',
  5. method: 'POST',
  6. headers: {
  7. 'Content-Type': 'application/json',
  8. 'rxjs-custom-header': 'Rxjs'
  9. },
  10. body: {
  11. rxjs: 'Hello World!'
  12. }
  13. }).pipe(
  14. map(response => console.log('response: ', response)),
  15. catchError(error => {
  16. console.log('error: ', error);
  17. return of(error);
  18. })
  19. );

使用ajax()获取。 从请求返回的错误对象。

  1. import { ajax } from 'rxjs/ajax';
  2. import { map, catchError } from 'rxjs/operators';
  3. import { of } from 'rxjs';
  4. const obs$ = ajax(`https://api.github.com/404`).pipe(
  5. map(userResponse => console.log('users: ', userResponse)),
  6. catchError(error => {
  7. console.log('error: ', error);
  8. return of(error);
  9. })
  10. );
以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号