叶凌风
叶凌风
  • 发布:2023-09-19 02:06
  • 更新:2023-09-19 16:23
  • 阅读:33

【报Bug】一个函数中,uni.request返回函数内不能使用当前上下文(即this)

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: 10

HBuilderX类型: Alpha

HBuilderX版本号: 3.8.12

手机系统: Android

手机系统版本号: Android 13

手机厂商: 小米

手机机型: 红米K30

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:
 ```  
        qiye_qu()  
        {  

    uni.showLoading({  
    title:"查询中...."  
                    })    
uni.request({  

    url: 'https://www.****************************',  

    method: 'POST',  
    data: {userid: getApp().globalData.userid,token: getApp().globalData.token,qiyetext:this.qiyetext},   
          success: function (res) {   
            uni.hideLoading() ;     
if(res.data.code==200)  
        {  

this.qiye_data=res.data.data;
for(let i=0;i<this.qiye_data.contacts.phoneNumber.length;i++)
{

that.iphone= this.qiye_data.contacts.phoneNumber[i].value;
}
}
if(res.data.code!=200)
{
uni.showModal({
title: '提示',
content: res.data.msg,
showCancel:false
});
}
},
fail: () => {
uni.hideLoading() ;
}
});

        },

操作步骤:

一个函数中,uni.request返回函数内不能使用当前上下文(即this)

预期结果:

一个函数中,uni.request返回函数可以使用当前上下文(即this)

实际结果:

一个函数中,uni.request返回函数内不能使用当前上下文(即this)

bug描述:

一个函数中,uni.request返回函数内不能使用当前上下文(即this)

2023-09-19 02:06 负责人:无 分享
已邀请:
喜欢技术的前端

喜欢技术的前端 - QQ---[445849201]---,ios上架,TF,企业签名

代码看的不全,可以像that.iphone 这样,在函数的顶端,定义let that = this,函数内部都用that

  • 叶凌风 (作者)

    这个当然可以。我试了uni.request的success事件里面用this的话全是不对应当前上下文的,但是别的页面却没有这样的问题

    2023-09-27 22:45

要回复问题请先登录注册