小程序
小游戏
企业微信
微信支付
扫描小程序码分享
目前遇到问题: 一个请求A要放在onload里面, 一个请求B要放在onshow里面; 需求=>要等B请求要拿A请求返回值做参数
7 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
把onload里接口请求包个promise并把引用存起来,在onshow的时候等待primise成功后再请求onshow接口
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
onload开始请求A,并记录下现在正在请求A
onshow检查结果:
1、A成功,请求B
2、A失败,依次请求AB
3、A请求中,记录下onshow调用但未请求B,在A返回结果后发现这个记录,就去继续请求B
很简单啊,我是这样实现的,
data:{
is_finished:false, //默认未处理
}
onLoad() {
this.f1()
onShow() {
this.setData({
is_finished:false, //这样每次进入这个页面 show 都会执行一次
})
function f1() {
if(this.data.is_finished== true) {
return;
is_finished:true
wx.request......... 就可以写下去 你要实现的代码
以上可以实现 onLoad 和 onShow 只有其中一个可以成功 执行完 f1
onload注册一个回调函数onloadCallback,并且把请求A结果存一个变量OBJ,然后onshow执行的时候,如果OBJ不为空,则请求B,如果OBJ为空,也注册一个回调函数onshowCallback(等着由onloadCallback调用),当执行onshowCallback的时候请求B
async onLoad() {
await ...
修改需求,接口合并
接口返回是异步的,你可以通过定时器来刷新看看A接口返回值后再请求B接口。
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
把onload里接口请求包个promise并把引用存起来,在onshow的时候等待primise成功后再请求onshow接口
onload开始请求A,并记录下现在正在请求A
onshow检查结果:
1、A成功,请求B
2、A失败,依次请求AB
3、A请求中,记录下onshow调用但未请求B,在A返回结果后发现这个记录,就去继续请求B
很简单啊,我是这样实现的,
data:{
is_finished:false, //默认未处理
}
onLoad() {
this.f1()
}
onShow() {
this.f1()
this.setData({
is_finished:false, //这样每次进入这个页面 show 都会执行一次
})
}
function f1() {
if(this.data.is_finished== true) {
return;
}
this.setData({
is_finished:true
})
wx.request......... 就可以写下去 你要实现的代码
}
以上可以实现 onLoad 和 onShow 只有其中一个可以成功 执行完 f1
onload注册一个回调函数onloadCallback,并且把请求A结果存一个变量OBJ,然后onshow执行的时候,如果OBJ不为空,则请求B,如果OBJ为空,也注册一个回调函数onshowCallback(等着由onloadCallback调用),当执行onshowCallback的时候请求B
async onLoad() {
await ...
}
修改需求,接口合并
接口返回是异步的,你可以通过定时器来刷新看看A接口返回值后再请求B接口。