1***@qq.com
1***@qq.com
  • 发布:2020-06-22 14:22
  • 更新:2021-09-16 17:56
  • 阅读:6686

【报Bug】uni.request在调用一个无响应的接口时会报一个vue的语法错误:[Vue warn]: Error in v-on handler (Promise/async)

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win10 专业版

HBuilderX类型: 正式

HBuilderX版本号: 2.7.14

手机系统: Android

手机系统版本号: Android 9.0

手机厂商: 华为

手机机型: honor a5

页面类型: vue

打包方式: 云端

项目创建方式: HBuilderX

示例代码:
<template>  
    <view class="content">  
        <image class="logo" src="/static/logo.png"></image>  
        <view class="text-area">  
            <text class="title">{{ title }}</text>  
        </view>  
        <button type="default" @tap="test">Test</button>  
    </view>  
</template>  

<script>  
export default {  
    data() {  
        return {  
            title: 'Hello'  
        }  
    },  
    onLoad() {},  
    methods: {  
        promiseFun() {  
            return new Promise((resolve, reject) => {  
                resolve(111)  
            })  
        },  
        handleRequest() {  
            return new Promise((resolve, reject) => {  
                uni.request({  
                    url: 'http://192.168.124.180:9000/v1/user/login',  
                    method: 'POST',  
                    header: {  
                        'X-Requested-With': 'XMLHttpRequest',  
                        'Content-Type': 'application/json'  
                    },  
                    complete: ({ statusCode, ...result } = {}) => {  
                        if (statusCode == 200) {  
                            resolve(result)  
                        } else {  
                            reject(result)  
                        }  
                    }  
                })  
            })  
        },  
        async test() {  
            let result = await this.handleRequest()  
            // console.log(result)  
        }  
    }  
}  
</script>  

<style>  
.content {  
    display: flex;  
    flex-direction: column;  
    align-items: center;  
    justify-content: center;  
}  

.logo {  
    height: 200rpx;  
    width: 200rpx;  
    margin-top: 200rpx;  
    margin-left: auto;  
    margin-right: auto;  
    margin-bottom: 50rpx;  
}  

.text-area {  
    display: flex;  
    justify-content: center;  
}  

.title {  
    font-size: 36rpx;  
    color: #8f8f94;  
}  
</style>  

bug描述:

对uni.request做一个简单的封装返回一个Promise对象后,使用async、await调用该方法时如不使用try、catch捕捉异常,则会报如标题所示的vue语法错误`[Vue warn]: Error in v-on handler (Promise/async): "[object Object]",使用try、catch或者退回到上一个正式版2.7.9没问题

2020-06-22 14:22 负责人:无 分享
已邀请:
水手

水手 - 资深老开发

我也出现过

何处天涯

何处天涯

新版的hbuilder 升级后总是莫名其妙的报错。

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