const requestUrl = 'https://unidemo.dcloud.net.cn/ajax/echo/text?name=uni-app' const duration = 2000 export default { data() { return { title: 'request', loading: false, res: '' } }, methods: { //发起请求(Callback);发起请求(Promise);发起请求(Async/Await) sendRequest(mode) { this.loading = true; switch (mode) { case 'promise': this._requestPromise(); break; case 'await': this._requestAwait(); break; default: this._request(); break; } }, //发起请求(Callback); _request() { uni.request({ url: requestUrl, dataType: 'text', data: { noncestr: Date.now() }, success: (res) => { console.log('request success', res) uni.showToast({ title: '请求成功', icon: 'success', mask: true, duration: duration }); this.res = '请求结果 : ' + JSON.stringify(res); }, fail: (err) => { console.log('request fail', err); uni.showModal({ content: err.errMsg, showCancel: false }); }, complete: () => { this.loading = false; } }); }, //发起请求(Promise) _requestPromise() { uni.request({ url: requestUrl, dataType: 'text', data: { noncestr: Date.now() } }).then(res => { console.log('request success', res[1]); uni.showToast({ title: '请求成功', icon: 'success', mask: true, duration: duration }); this.res = '请求结果 : ' + JSON.stringify(res[1]); this.loading = false; }).catch(err => { console.log('request fail', err); uni.showModal({ content: err.errMsg, showCancel: false }); this.loading = false; }); }, //发起请求(Async/Await) async _requestAwait() { const [err, res] = await uni.request({ url: requestUrl, dataType: 'text', data: { noncestr: Date.now() } }); if (err) { console.log('request fail', err); uni.showModal({ content: err.errMsg, showCancel: false }); } else { console.log('request success', res) uni.showToast({ title: '请求成功', icon: 'success', mask: true, duration: duration }); this.res = '请求结果 : ' + JSON.stringify(res); } this.loading = false; } } }