所属分类:php教程
微信小程序默认是用同步请求的,但有些时候需要数据的同步请求,可使用的方法有很多,比较常用的有两种
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',
data: data,
header: {
"content-type": "application/x-www-form-urlencoded"
},
})
}
module.exports = {
postRequest: postRequest,
getRequest: getRequest
}
登录后复制
相关推荐:
微信小程序实例:实现系统时间、时间戳时间以及时间戳加减的获取代码
微信小程序中多条数据缓存的代码实例
小程序组件:聊天会话组件的介绍(附代码)
以上就是微信小程序中实现同步请求的方法的详细内容,更多请关注zzsucai.com其它相关文章!