日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

uniapp用Promise封裝get和post請求

作者:進~ 更新時間: 2022-04-23 編程語言

用Vue開發Web網頁,請求都是都會用到axios這個庫,axios支持promise。所以就打算在uniapp中封裝一個返回Promise對象的get和post請求。

HttpUrl 就是固定前綴和axios.defaults.baseURL一樣的
第三個參數正常來說應該傳個header對象,但是項目需求沒這么大,所以就直接傳了個屬性
下面兩個函數其實就method不一樣,還可以封裝一個函數傳遞請求的,這里我就不寫了吧。

//get請求
import app from './main.js'
const get = function(url, data = null, contentType = 'application/json') {
	return new Promise((resolve, reject) => {
		uni.showLoading({mask: true})
		uni.request({
			url: app.HttpUrl + url,
			data,
			header: {
			// || '' 考慮到登錄API沒有token。
				'Authorization': uni.getStorageSync('token') || '',
				'Content-Type': contentType
			},
			success: (res) => {
				uni.hideLoading()
				// 成功時調用sesolve函數,至于參數傳什么自行體會
				// 下面這個僅供參考
				resolve()
				/*if (res.data.success) {
					resolve(res.data.message)
				} else if (res.statusCode == '401') {
					uni.showToast({
						title: res.data.message,
						icon: "none",
						duration: 1500
					});
					uni.redirectTo({
						url: "/pages/home/login"
					});*/
				}
			},
			fail: (err) => {
				uni.hideLoading()
				return reject(err)
			}
		});

	})
}

//post請求
const post = function(url, data = null, contentType = 'application/json') {

	return new Promise((resolve, reject) => {
		uni.showLoading({mask: true})
		uni.request({
			url: app.HttpUrl + url,
			data,
			method: 'POST',
			header: {
				'Authorization': uni.getStorageSync('token'),
				'Content-Type': contentType
			},
			success: (res) => {
				uni.hideLoading()
				// 成功時調用sesolve函數,至于參數傳什么自行體會
				// 下面這個僅供參考
				resolve()
				/*if (res.data.success) {
					resolve(res.data.message)
				} else if (res.statusCode == '401') {
					uni.showToast({
						title: res.data.msg,
						icon: "success",
						duration: 1500
					});
					uni.redirectTo({
						url: "/pages/home/login"
					});
				}*/
			},
			fail: (err) => {
				uni.hideLoading()
				return reject(err)
			}
		});

	})

}

export default {
	get,
	post
}

原文鏈接:https://blog.csdn.net/weixin_45016896/article/details/120785246

欄目分類
最近更新