知识点:
this.id = option.id 这样绑定在当前页的data上
Promise 对象的实例p
,状态为rejected
,回调函数会立即执行。
注意,Promise.reject()
方法的参数,会原封不动地作为reject
的理由,变成后续方法的参数。这一点与Promise.resolve
方法不一致。
resolve(value),当value等于普通值,res就等于这个值, 而value如果等于p1,程序就会等待p1变成resolved后再往下执行。所以resolve(p1)等待p1的状态改变(resolved或者rejected)再执行
p2.then里的回调。注意,这里说”等待“,而不是”去执行“,因为p1是在定义时候自执行的,而不是resolve(p1)驱动的。这段代码执行顺序如下:
return uni.showToast({
title:'获取数据失败'
})
success:(res)=>{}
目标:
---文件放到api.js全局可调用
调用方法:
在main.js
import {myRequest} from './utill/api.js'
//挂载到Vue,全局可使用
Vue.prototype.$myRequest = myRequest
const BASE_URL = 'http://localhost:8082'
export const myRequest = (options)=>{
return new Promise ((resolve,reject)=>{
uni.request({
url:BASE_URL+options.url,
method:options.method || 'GET',
data:options.data || {},
success:(res)=>{
if(res.data.status !==0){
return uni.showToast({
title:'获取数据失败'
})
}
resolve(res)
},
fail:(err)=>{
uni.showToast({
title:'请求接口失败'
})
reject(err)
}
})
})
}