小編給大家分享一下微信小程序中如何實現(xiàn)同步請求,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
十年專注建站、設(shè)計、互聯(lián)網(wǎng)產(chǎn)品按需制作服務(wù),業(yè)務(wù)涵蓋品牌網(wǎng)站制作、商城網(wǎng)站建設(shè)、微信平臺小程序開發(fā)、軟件系統(tǒng)開發(fā)、手機APP定制開發(fā)等。憑借多年豐富的經(jīng)驗,我們會仔細了解每個客戶的需求而做出多方面的分析、設(shè)計、整合,為客戶設(shè)計出具風(fēng)格及創(chuàng)意性的商業(yè)解決方案,創(chuàng)新互聯(lián)更提供一系列網(wǎng)站制作和網(wǎng)站推廣的服務(wù),以推動各中小企業(yè)全面信息數(shù)字化,并利用創(chuàng)新技術(shù)幫助各行業(yè)提升企業(yè)形象和運營效率。
微信小程序默認(rèn)是用同步請求的,但有些時候需要數(shù)據(jù)的同步請求,可使用的方法有很多,比較常用的有兩種
1、 globalData 全局變量
app.js
App({ // 全局變量 globalData: { currentPage: 1, allData: null, findData: null, }, })
index.js
// 獲取應(yīng)用實例 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對象最后狀態(tài)如何都會執(zhí)行 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 }
以上是“微信小程序中如何實現(xiàn)同步請求”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!