何处不相逢
何处不相逢
  • 发布:2019-12-10 21:23
  • 更新:2019-12-12 10:12
  • 阅读:1482

【报Bug】IOS 端的nvue页面,使用async/await 请求后导致数据不更新

分类:nvue

详细问题描述

(DCloud产品不会有明显的bug,所以你遇到的问题大都是在特定环境下才能重现的问题,请仔细描述你的环境和重现方式,否则DCloud很难排查解决你的问题)

[内容]

IOS 端的nvue页面,使用async/await 请求后导致数据不更新

全部代码如下:我期望的是请求回来后,页面上的title显示(嗨,我是请求后赋值的数据,请查看是否变更),测试结果是title值变化了,但是页面上显示的未发生改变。

HBuilder X:2.4.6.20191210

设备:苹果6s 系统版本:10.3.3 (安卓用的华为暂时未出现此问题)

重现步骤

[步骤] ios真机运行,发起请求返回结果

[结果] 代码执行了,但是页面数据没有变更

[期望]代码执行了,页面数据变更

[如果语言难以表述清晰,拍一个视频或截图,有图有真相]

IDE运行环境说明

[HBuilder 或 HBuilderX。如果你用其他工具开发uni-app,也需要在此说明]

[IDE版本号]

[windows版本号]

[mac版本号]

uni-app运行环境说明

[运行端是h5或app或某个小程序?]

[运行端版本号]

[项目是cli创建的还是HBuilderX创建的?如果是cli创建的,请更新到最新版cli再试]

[编译模式是老模板模式还是新的自定义组件模式?]

App运行环境说明

[Android版本号]

[iOS版本号]

[手机型号]

[模拟器型号]

附件

[IDE问题请提供HBuilderX运行日志。菜单帮助-查看运行日志,点右键打开文件所在目录,将log文件压缩成zip包上传]

[App问题请提供可重现问题的代码片段,你补充的细一点,问题就解决的快一点]

[App安装包或H5地址]

[可重现代码片段]

联系方式

[QQ]

2019-12-10 21:23 负责人:无 分享
已邀请:
何处不相逢

何处不相逢 (作者) - 何处不相逢

卧槽,官方人员不确定撒是不是bug吗?都不管了

  • get

    ios 不允许 hybuild 应用上线了,刚刚发布的消息

    2019-12-11 16:53

6***@qq.com

6***@qq.com

遇到同样的问题,希望官方赶紧解决。

  • get

    ios 不允许 hybuild 应用上线了,刚刚发布的消息

    2019-12-11 16:53

  • 6***@qq.com

    回复 get: 发链接来看看

    2019-12-11 16:55

get

get - post

ios 不允许 hybuild 应用上线了,刚刚发布的消息

  • DCloud_uniCloud_WYQ

    第一:https://ask.dcloud.net.cn/article/36654

    第二:hybuild --> Hybrid

    第三:这里在讨论nvue

    2019-12-11 17:11

DCloud_uniCloud_WYQ

DCloud_uniCloud_WYQ

测试未复现,可以补充说明一下HBuilderX版本。通过删除其他代码排除受其他因素影响的可能性

  • 何处不相逢 (作者)

    您好:我重新测试了下还是出现了此问题。我已经上传了案列,麻烦验证下。


    HBuilder X:2.4.6.20191210


    设置:苹果6s 系统版本:10.3.3 (安卓用的华为暂时未出现此问题)

    2019-12-11 19:00

何处不相逢

何处不相逢 (作者) - 何处不相逢

全部代码如下:我期望的是请求回来后,页面上的title显示(嗨,我是请求后赋值的数据,请查看是否变更),测试结果是title值变化了,但是页面上显示的未发生改变。

HBuilder X:2.4.6.20191210

设备:苹果6s 系统版本:10.3.3 (安卓用的华为暂时未出现此问题)

<template>
<view class="content">

    <view class="text-area" style="padding-top:140upx;align-items: center;  ">  
        <text class="title" style="font-size: 40upx; color: red;">{{title}}</text>  
    </view>  
</view>  

</template>

<script>
export default {
data() {
return {
title: 'Hello,我是默认值请注意我是否变化'
}
},
onLoad() {
this.getdata();
},
methods: {
async getdata(){
/
// 测试 直接赋值 是否有影响
this.title = "嗨,我是请求后赋值的数据,请查看是否变更";
/

             //数据请求  
            const [err, res] = await uni.request({    
                    url: "https://unidemo.dcloud.net.cn/api/news",    
                    dataType: 'text',    
                    data: {    
                        noncestr: Date.now()    
                    }    
                });    
                if (err) {    
                    console.log('request fail', err);    

                } else {    
                    console.log('request success', '请求结果 : 成功')    
                }    
                //重新赋值,查看页面是否重新渲染  
                this.title = "嗨,我是请求后赋值的数据,请查看是否变更";    
                console.log("title当前值:"+this.title)    

            }  
    }  
}  

</script>

<style>

</style>

  • DCloud_uniCloud_WYQ

    这个nvue是首页是吗?是在onLoad里面执行的这个函数吗?

    2019-12-11 19:09

  • 何处不相逢 (作者)

    回复 DCloud_uniCloud_WYQ: nvue不是首页的时候也出现,我只是方便重现此问题写的,是在onLoad里面执行的这个函数。

    2019-12-11 19:11

  • 何处不相逢 (作者)

    回复 DCloud_uniCloud_WYQ: 麻烦确认下是不是BUG,给我一个回复谢谢。如果不是BUG 请问如何解决。感谢, 最近几天测试ios端,因为这个问题完全走不通了

    2019-12-11 19:13

  • 何处不相逢 (作者)

    回复 DCloud_uniCloud_WYQ: 大佬。怎么样了。能给个回复吗?

    2019-12-12 13:45

  • DCloud_uniCloud_WYQ

    回复 何处不相逢: 可以先将uni.request promise化,目前还在排查具体原因


    const res = await (function() {

    return new Promise((resolve, reject) => {

    uni.request({

    url: "https://unidemo.dcloud.net.cn/api/news",

    dataType: 'text',

    data: {

    noncestr: Date.now()

    },

    success(res) {

    resolve(res)

    },

    fail(err) {

    reject(err)

    }

    });

    })

    })()

    2019-12-12 21:35

  • 何处不相逢 (作者)

    回复 DCloud_uniCloud_WYQ: 好的,谢谢

    2019-12-13 09:35

  • 何处不相逢 (作者)

    回复 DCloud_uniCloud_WYQ: 大佬。原因排查出来了吗?预计什么时候修复这个BUG啊。官网V3推荐用nvue,现在这么大个bug,用Nvue还不知道又遇见什么。

    2019-12-18 11:33

  • j***@manfuyun.com

    大佬 你解决这个问题了吗?我现在也遇到这个情况

    2020-07-23 17:22

SimpleJalon

SimpleJalon - 个人承接PHP、uniapp项目,有案例,联系QQ 615773740,不接受外地工作,可付费提供技术支持。添加QQ时务必备注来意以及添加渠道,渠道可以写:`uniapp`

我的nvue正常。

6***@qq.com

6***@qq.com

我这边的情况是请求后控制台是有数据返回,但是界面没有更新。
是在created 里面做请求。

  • 何处不相逢 (作者)

    我也有数据返回,我说的问题就是页面没有更新。

    2019-12-12 13:45

该问题目前已经被锁定, 无法添加新回复