8***@qq.com
8***@qq.com
  • 发布:2019-09-02 16:27
  • 更新:2021-03-03 14:46
  • 阅读:1788

Promise语法返回值问题

分类:HBuilderX
api

详细问题描述

如文档所说:uni-app 对部分 API 进行了 Promise 封装,返回数据的第一个参数是错误对象,第二个参数是返回数据。

[内容]

重现步骤

[步骤]调用showModal方法使用Promise语法

[结果] 返回第一个参数如文档所说是错误对象,第二个为返回数据

[期望] then方法可以直接返回数据,then和catch已经可以代表成功和失败了,我感觉没有必要在then第一个参数加错误对象

我理解官方这里的做法仅仅是因为async和await的带来的副作用,不知道官方是如何考虑的???

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-09-02 16:27 负责人:无 分享
已邀请:
林沈离

林沈离

官方的这种封装方式,猜测解决的是await外层总需要catch代码,从而将错误处理分散在各处,而不是统一处理。

看似给予了方便,实则破坏了错误统一处理的需求。
又和通常意义的Promise用法截然不同(竟然退回到node式的处理),给开发人员带来了额外的心智负担。

官方的用意是好的,但实际使用下来,非常不方便。

希望回复讨论。

小卢哥

小卢哥

吐槽一下

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