RXJSを使っている反応またはVueのAPIサービス
-について
1 .アングルのサービスは何ですか?
サービスは、お互いを知らないクラスの間で情報を共有する素晴らしい方法です.サービスを使用することで、できるようになります
なぜRxjs
RXJSは任意のフレームワークや純粋なJavaScriptで使用することができます.
これはVueに関する次のコードを意味します.バニラ
RXJSは観測可能なシーケンスを用いた非同期およびイベントベースプログラムを構成するためのライブラリである
RXJs数学的な、変換、フィルタリング、ユーティリティ、条件、エラー処理の演算子の巨大なコレクションを提供し、反応のプログラミングで使用するときに簡単に人生を作るカテゴリに参加.
3 .反応またはVueでサービスを作成する方法
$ npm install axios rxjs axios-observable
services
そして、私もsrc/srviceでそれを作成します、それはあなたが望むどこで、それを作成することは重要でありません..ts
or .js
ファイル名を付けますtask.ts
(ここではスクリプトを使っていますから).import Axios, { AxiosObservable } from "axios-observable";
class TaskService {
private static _instance: TaskService;
public static get Instance() {
return this._instance || (this._instance = new this());
}
/////...code here
}
export const _TaskService=TaskService.Instance;
だからここで我々は使用できるようにSingletonクラスを作成するSubjects
後で、各コンポーネントのクラスのオブジェクトを作るよりも良いです.あなたのAPI呼び出しを書きます、私は単純なものを書きます
CRUD
import Axios, { AxiosObservable } from "axios-observable";
class TaskService {
private static _instance: TaskService;
public static get Instance() {
return this._instance || (this._instance = new this());
}
indexTask():AxiosObservable<any> {
return Axios.get<any(`https://example.com/api/index`);
}
showTask(id:number):AxiosObservable<any> {
return Axios.get<any(`https://example.com/api/show/${id}`);
}
storeTask(data:any):AxiosObservable<any> {
return Axios.post<any(`https://example.com/api/store`,data);
}
updateTask(id:number,data:any):AxiosObservable<any> {
return Axios.put<any(`https://example.com/api/update/${id}`,data);
}
deleteTask(id:number):AxiosObservable<any> {
return Axios.delete<any(`https://example.com/api/delete/${id}`);
}
}
export const _TaskService=TaskService.Instance;
そして、我々はここでされます.反応コンポーネントでのサービスの使い方
import { useEffect, useState } from "react";
import { _TaskService } from "src/services/Task.Service";
const Tasks = () => {
const [tasks, settasks] = useState([]);
useEffect(() => {
_TaskService.indexTask().subscribe({
next: (res) => settasks(res.data),
error: (err) => console.log(err.response),
complete: () => {},
});
return () => {};
}, []);
return (
<div>
{tasks.map((task: any, index: number) => {
return <div key={index} > {task.name} </div>;
})}
</div>
);
};
export default Tasks;
終わり……あなたが反応するように切り替えている角度開発者であるならば、あるいは、Vueはあなたがこれを見つけることが幸せであると確信します.
あなたがそうでないならば、私はあなたに特にRXJsについて読むことを提案します.
便利なリンク🔗
https://rxjs.dev/
趙世陽 / アクシオス
RXJSの方法でaxiosを使用してください。約束の代わりに観測できる
アクシオス
ブラウザとノードのための(可能な限り)約束のHTTPベースのクライアントを観察.js
RXJS(観測可能)の方法でaxiosを使用しますか?そこに行く!
Axios観測可能なAPIは、AxiosのAPIとほぼ同じです.それで、ドキュメントはaxiosの1つを反映します(いくつかの例外は指摘されます).
機能
インストール
NPMの使用
注意:
axios
and rxjs
は依存関係である.は、Axiosをインストールします
例
演じる
GET
リクエスト' axos観測可能'からインポートaxios;
//' axos = require 'を実行します(' axiOS -観測可能').アクシオス
//指定したIDを持つユーザのリクエストを作成する
アクシオス.get (' user ?? id = 12345 ')
……
View on GitHub
.
Reference
この問題について(RXJSを使っている反応またはVueのAPIサービス), 我々は、より多くの情報をここで見つけました https://dev.to/chrollo4ki/api-services-in-react-or-vue-using-rxjs-3lj7テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol