微风99
微风99
  • 发布:2020-05-22 10:07
  • 更新:2024-03-11 16:08
  • 阅读:8404

填坑:uni.login非异步而uni.request是异步,使用async 、await注意

分类:uni-app

uni.login使用 await,需用用Promise包装:

            const js_code = await new Promise((resolve, reject) => {  
                // uni.login非异步,所以用Promise包装  
                uni.login({  
                    provider: 'weixin',  
                    success: res => {  
                        resolve(res.code);  
                    },  
                    fail: err => {  
                        reject(err);  
                    }  
                });

uni.request是异步,已被uniapp包装为Promise,可以直接使用await:

const [error, res] = await uni.request({  
                // uni.request异步方法  
                url: url,  
                method: 'GET'  
            });
2 关注 分享
2***@qq.com 1***@qq.com

要回复文章请先登录注册

8***@qq.com

8***@qq.com

看不懂
2024-03-11 16:08
2***@qq.com

2***@qq.com

回复 2***@qq.com :
找到原因了,在main.js中有一段关于promise的Vue3和Vue2的转换,去掉即可
2024-01-05 15:36
2***@qq.com

2***@qq.com

回复 1***@qq.com :
我也是对像,本来之前的写法都是数组
2024-01-05 15:31
2***@qq.com

2***@qq.com

感觉奇奇怪怪,有的人可以使用,有的人不可以。
2023-12-16 17:08
1***@qq.com

1***@qq.com

请问你第二个返回的是数组格式么?我今天试了为什么都是对象?
2023-05-25 20:53
AriFe

AriFe

我是真醉. 同样都是uni封装的方法, 每个结果都不一样, 文档也不标明. 真遭罪
2021-03-09 17:12
文竹

文竹

傻瓜,能不能测试一下,直接都不能编译过去
2020-12-28 18:43