本篇文章给大家带来的内容是关于微信小程序中实现同步请求的方法,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 微信小程序默认是用同步请求的,但有些时候需要数据的同步请求,可使用的方法有很多,比较常用的有两种 1、 globalData 全局变量 app.js App({
// 全局变量
globalData: {
currentPage: 1,allData: null,findData: null,},}) index.js // 获取应用实例
const app = getApp();
// 使用全局变量
data = app.globalData.currentPage; 2、 引用第三方库 es6-promise var Promise = require('../plugins/es6-promise.js')
function wxPromisify(fn) {
return function (obj = {}) {
return new Promise((resolve,reject) => {
obj.success = function (res) {
//成功
resolve(res)
}
obj.fail = function (res) {
//失败
reject(res)
}
fn(obj)
})
}
}
//无论promise对象最后状态如何都会执行
Promise.prototype.finally = function (callback) {
let P = this.constructor;
return this.then(
value => P.resolve(callback()).then(() => value),reason => P.resolve(callback()).then(() => { throw reason })
);
};
/**
- 微信请求get方法
- url
- data 以对象的格式传入
*/
function getRequest(url,data) {
var getRequest = wxPromisify(wx.request)
return getRequest({
url: url,method: 'GET',data: data,header: {
'Content-Type': 'application/json'
}
})
}
/**
- 微信请求post方法封装
- url
- data 以对象的格式传入
*/
function postRequest(url,data) {
var postRequest = wxPromisify(wx.request)
return postRequest({
url: url,method: 'POST',header: {
"content-type": "application/x-www-form-urlencoded"
},})
}
module.exports = {
postRequest: postRequest,getRequest: getRequest
} (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|