小程序
小游戏
企业微信
微信支付
扫描小程序码分享
自己封装了request请求,通过storage拿token值,但是封装的文件加载特别快,当时还没有拿到token,导致后期所有请求都失败,需要重新刷页面才能获取token,有思路可以帮忙说一下,感谢
4 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
同步拿呀
官方代码没试过吗?
try { var value = wx.getStorageSync('key') if (value) { // Do something with return value }} catch (e) { // Do something when catch error}
/**
* 封装http 请求方法
*/
let global = require('./global.js');
const requestUrl=global.baseUrl; //服务器api地址
var token = wx.getStorageSync('token');
var http = (params) => {
//返回promise 对象
return new Promise((resolve, reject) => {
wx.request({
url: requestUrl + params.url,//服务器url+参数中携带的接口具体地址
data: params.data,//请求参数
header: params.header || {
"Accept":"*/*",
"Content-Type": params["content-type"]||"application/json",//设置后端需要的常用的格式就好,特殊情况调用的时候单独设置
"Authorization":params.Authorization || "Bearer "+token
},
method: params.method || "GET",
// dataType: params.dataType,//返回的数据格式,默认为JSON,特殊格式可以在调用的时候传入参数
// responseType: params.responseType,//响应的数据类型
success: function(res) {
resolve(res)
fail: function(e) {
reject(e)
}
})
module.exports = {
http: http
让这个文件获取到token在加载
不知道你的问题在哪里,贴代码出来看会好点
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
同步拿呀
官方代码没试过吗?
/**
* 封装http 请求方法
*/
let global = require('./global.js');
const requestUrl=global.baseUrl; //服务器api地址
var token = wx.getStorageSync('token');
var http = (params) => {
//返回promise 对象
return new Promise((resolve, reject) => {
wx.request({
url: requestUrl + params.url,//服务器url+参数中携带的接口具体地址
data: params.data,//请求参数
header: params.header || {
"Accept":"*/*",
"Content-Type": params["content-type"]||"application/json",//设置后端需要的常用的格式就好,特殊情况调用的时候单独设置
"Authorization":params.Authorization || "Bearer "+token
},
method: params.method || "GET",
// dataType: params.dataType,//返回的数据格式,默认为JSON,特殊格式可以在调用的时候传入参数
// responseType: params.responseType,//响应的数据类型
success: function(res) {
resolve(res)
},
fail: function(e) {
reject(e)
}
})
})
}
module.exports = {
http: http
}
让这个文件获取到token在加载
不知道你的问题在哪里,贴代码出来看会好点