ajax

2020-10-09 14:04 更新

Rx 對(duì)象上有一個(gè) ajax 運(yùn)算符。

const ajax: any;

描述

它使用以下請(qǐng)求對(duì)象創(chuàng)建 Ajax 請(qǐng)求的可觀察對(duì)象: 網(wǎng)址,標(biāo)頭等或網(wǎng)址字符串。

使用 ajax()來(lái)獲取從 API 返回的響應(yīng)對(duì)象。

import { ajax } from 'rxjs/ajax';
import { map, catchError } from 'rxjs/operators';
import { of } from 'rxjs';


const obs$ = ajax(`https://api.github.com/users?per_page=5`).pipe(
  map(userResponse => console.log('users: ', userResponse)),
  catchError(error => {
    console.log('error: ', error);
    return of(error);
  })
);

使用 ajax.getJSON()從 API 獲取數(shù)據(jù)。

import { ajax } from 'rxjs/ajax';
import { map, catchError } from 'rxjs/operators';
import { of } from 'rxjs';


const obs$ = ajax.getJSON(`https://api.github.com/users?per_page=5`).pipe(
  map(userResponse => console.log('users: ', userResponse)),
  catchError(error => {
    console.log('error: ', error);
    return of(error);
  })
);

將 ajax()與對(duì)象一起用作參數(shù),并將方法 POST 延遲兩秒鐘。

import { ajax } from 'rxjs/ajax';
import { of } from 'rxjs';


const users = ajax({
  url: 'https://httpbin.org/delay/2',
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'rxjs-custom-header': 'Rxjs'
  },
  body: {
    rxjs: 'Hello World!'
  }
}).pipe(
  map(response => console.log('response: ', response)),
  catchError(error => {
    console.log('error: ', error);
    return of(error);
  })
);

使用ajax()獲取。 從請(qǐng)求返回的錯(cuò)誤對(duì)象。

import { ajax } from 'rxjs/ajax';
import { map, catchError } from 'rxjs/operators';
import { of } from 'rxjs';


const obs$ = ajax(`https://api.github.com/404`).pipe(
  map(userResponse => console.log('users: ', userResponse)),
  catchError(error => {
    console.log('error: ', error);
    return of(error);
  })
);
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)