ユニアプリのrequest関数のカプセル化方法は?
uniappでは、request関数をカプセル化することでネットワークリクエストを送信できます。以下はその一般的なカプセル化方法です。
- プロジェクトのutilsフォルダにapi.jsファイルを作成します。
- api.jsファイルでネットワークリクエストを送信するrequest関数を定義します。
export const request = (url, method, data) => {
// 返回一个Promise对象,用于异步处理网络请求结果
return new Promise((resolve, reject) => {
uni.request({
url: url,
method: method,
data: data,
success: (res) => {
// 请求成功时,调用resolve函数并传递结果
resolve(res.data);
},
fail: (error) => {
// 请求失败时,调用reject函数并传递错误信息
reject(error);
}
});
});
};
- ネットワークリクエストが必要なページにapi.jsファイルを取り込み、request関数を呼び出す。
import { request } from '@/utils/api.js';
// 在页面的某个方法中发送网络请求
request('http://api.example.com/user', 'GET', {id: 1})
.then((res) => {
// 处理请求成功的结果
console.log(res);
})
.catch((error) => {
// 处理请求失败的错误
console.log(error);
});
リクエスト関数をこのようにカプセル化することで,ネットワークリクエストをより簡単に送信し、リクエストの結果を処理できるようになる。また、リクエスト関数にインターセプターを追加したり、エラーを一元的に処理したりする機能を追加して、開発効率を向上させることもできる。