這篇文章帶給大家的內容是關於微信小程式中實現同步請求的方法,有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。
微信小程式預設是用同步請求的,但有些時候需要資料的同步請求,可使用的方法很多,比較常用的有兩種
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 }
相關推薦:
微信小程式實例:實作系統時間、時間戳時間、時間戳加減的取得程式碼
#以上是微信小程式中實作同步請求的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!