3008关注9620浏览
直接写上我的部分代码和我期待的效果,请各路大神帮忙解答下
function(){
var bl = this.openLogin()
//因为是wx.request是异步 ,所以这里的bl还没有赋值 请问我该怎么写?
if (bl) {
} else {
}
}
openLogin:function(){
var _this = this;
wx.request({
url: getApp().globalData.ctPath,
data: {
wxOpenid: _this.globalData.openid
},
header: getApp().globalData.header,
success: function (res) {
if (res.data.user != null) {
return true;
}else{
return false;
}
}
})
}
-
至过去的我
2044人对此回答表示赞同
我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多> -
Bryson
16人对此回答表示赞同
Afan 这是修改后的代码,你试试 展开160回复分享发布于 6年前评论(0)
收起评论
-
三磷酸腺苷
12人对此回答表示赞同
直接用https://github.com/mushan0x0/wxapp-api-interceptors不就得了
展开120回复分享发布于 6年前评论(0)
收起评论
-
祖师爷
12人对此回答表示赞同
引入es6-promise,然后使用promise,小程序原生不支持promise
展开120回复分享发布于 6年前评论(0)
收起评论
-
丛林人
1人对此回答表示赞同
那个是异步的吧,不能直接把openLogin()返回值赋给bl的,感觉写这个Promise貌似没什么用啊????你在success回调里调用你下一步操作的函数好了
展开17回复分享发布于 6年前评论(7)
收起评论
-
吴静怡 2019-02-03 11:01
官方现在支持async/await了?
回复 -
喜怒无常 2019-02-05 10:14
取消转ES5或者装一下regeneratorRuntime试试?
回复 -
裸奔的花生 2019-02-07 22:03
还是不行不弄了我换个逻辑绕过去吧
回复 -
zqsg走一波 2019-02-09 22:36
要把ES6转ES5取消勾选
回复 -
雪先生 2019-02-11 22:20
不行啊报错了
回复 -
Adrian 2019-02-13 22:31
那就用async/await吧。
回复 -
Andrew 2019-02-15 13:50
我知道写在success里可以用但是这个方法可能有比较多的页面要调用我就想提取出来然后各个页面根据true/false来判断操作不知道能不能实现
回复
-
-
公子舒夜
1人对此回答表示赞同
使用es6语法
展开10回复分享发布于 6年前评论(0)
收起评论