uniapp封装异步请求

封装步骤:

1.在src目录下新建utils/config.js用来存放请求地址,方便修改

// 配置服务器相关信息
export default{
	host:'http://localhost:3000'
}

2.在src目录下新建utils/request.js

import config from './config.js'
export const myRequest = (url,data={},method='POST')=>{
	return new Promise((resolve,reject)=>{
		//1.new Promise初始化promise实例的状态为pending
		uni.request({
			withCredentials: true,
			header:{
				'content-type': 'application/x-www-form-urlencoded',
			},
			url: config.host +url,
			data,
			method,
			success:(res)=>{
				resolve(res) //resolve修改promise的状态为成功状态resolved
			},
			fail:(err)=>{
				reject(err) //reject修改promise的状态为失败状态reject
			}
		})
	})
}

3.挂载到mian.js

import Vue from 'vue'
import App from './App'
import { myRequest } from './utils/request.js'
import uView from "uview-ui";
Vue.use(uView);

Vue.prototype.$myRequest=myRequest

Vue.config.productionTip = false

App.mpType = 'app'

const app = new Vue({
    ...App
})
app.$mount()

4.使用

//res为请求后端返回的数据
async login(){
let res = await this.$myRequest('/loginSubmit', {email,password})
}

你可能感兴趣的:(javascript,node.js)