uniapp-封裝request請(qǐng)求

新建request.js
const baseUrl = 'http://xxx.xxxx.xxx';//接口域名
let reqCount = 0,resCount = 0;//記錄請(qǐng)求次數(shù)和響應(yīng)次數(shù)

const request = (options) => {
    reqCount++;
    uni.showLoading();
    return new Promise((resolve, reject) => {
        uni.request({
            method: options.method,
            url: baseUrl + options.url,
            data: options.data,
            header: options.header//如需其他配置可在此添加或先轉(zhuǎn)換options.url,然后 ...options
        }).then((response) => {
            resCount++
            if(reqCount === resCount) uni.hideLoading();//防止連續(xù)請(qǐng)求多個(gè)接口時(shí)loading閃現(xiàn)
            let [error, res] = response;        
            resolve(res.data);
        }).catch(error => {
            resCount++
            if(reqCount === resCount) uni.hideLoading();
            let [err, res] = error;
            reject(err)
        })
    });
}
export default request
main.js中:

導(dǎo)入request,并掛載到vue

import request from "utils/request.js"
Vue.prototype.$request = request
在組件中使用:
this.$request({
        url:"/xxx/xxx/xxx",
        method:"POST",
        data:{"id":1}
    }).then((res)=>{
        console.log(res)
    }).catch((error)=>{
        console.log(error)
    })
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容