2814关注8909浏览
接口做登录验证,会在请求头中放入一个token验证
小程序加载,后端登录接口返回一个token,这个token需要在之后所有的请求中都放在头部请求。
因为是异步操作,所以,首页的接口发起请求的时候,可能token值还没有拿到。
我目前只想到两种做法(效果都不好,新手勿喷):
调用封装的request时,判断有没有token,如果没有,则用setTimeout延时请求,做个递归,达到一定时间判断网络故障。(但是在app.js中存起来的token变量有时不知道为啥突然是undefined,)
调用封装的request时,判断有没有token,如果没有,重新调用请求从后端再拿token,这样造成首页多次调用login接口。
有没有办法,可以在请求完token之后,再加载小程序呢?
例如像vue这样:
const login = async ( ) => { return 'torkn'}
login( ).then(token => {
const app = new Vue({
el: '#app',
template: data
})
})
-
至过去的我
2044人对此回答表示赞同
我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多> -
Mieczyslaw
16人对此回答表示赞同
用回调模式在app.js中封装request,将token存放gobledata中
展开163回复分享发布于 6年前评论(3)
收起评论
-
justsososo
12人对此回答表示赞同
新手的话,promise和async/await了解吗,应该就是这三个东西解决的问题吧
展开125回复分享发布于 6年前评论(5)
收起评论
-
Alexa 2019-02-06 20:01
promise支持的
回复 -
如花 2019-02-08 21:07
《小程序网络请求怎么实现同步》的评论:https://developers.weixin.qq.com/community/develop/doc/00022838614a700bca17d5b1259c00?highLine=%E5%BC%82%E6%AD%A5%20request&jumpto=reply&commentid=0006e0321489d8feda17690f45bc&parent_commentid=000eee922e0c08accb1714008578
回复 -
Christopher 2019-02-10 22:28
谢谢
回复 -
Jason 2019-02-12 17:36
http-provider.js
回复 -
庄晋 2019-02-14 11:50
感谢回答,能贴部分示例demo么?
回复
-
非常感谢
能贴一部分示例代码或者实例demo么?