taskpool 执行的 async 函数和普通返回 promise 函数的一些差异问题
当前模拟器(4.1.0.56)表现:
1. 对于一个内部实现 return 一个值的 async 函数 fun3,taskpool.execute 可以正常执行并通过返回的 promise 拿到返回值
2. 对于一个内部实现 return 一个 Promise 的 async 函数 fun4,taskpool.execute 执行失败,promise catch err: Can’t return Promise in pending state
3. 对于一个内部实现 return 一个 Promise 的 async 函数 fun5,taskpool.execute 可以正常执行并通过返回的 promise 拿到返回值
是否从 Promise 和 async 函数的规范来说,三者应该表现一致才对,尤其1 & 2,理论上语义不应该有任何区别?
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
关于鸿蒙和uboot间的一些问题
7396浏览 • 2回复 待解决
关于鸿蒙BLE的一些问题
2697浏览 • 1回复 待解决
一些帐号授权相关问题
7145浏览 • 2回复 待解决
docker 线上使用的一些问题
678浏览 • 1回复 待解决
HUAWEI DevEco Device Tool的一些问题
7028浏览 • 3回复 待解决
关于华为应用级AT的一些问题
10412浏览 • 3回复 待解决
DevEco Studio 升级后的一些问题
8287浏览 • 1回复 待解决
关于Redis缓存的一些问题有了解的吗?
1770浏览 • 1回复 待解决
关于laravel的一些难受问题,连表查询
1308浏览 • 1回复 待解决
eTS TimePicker组件的一些问题有知道的吗?
1462浏览 • 1回复 待解决
关于liteos-a的一些问题想请教各位
6727浏览 • 2回复 待解决
看了10.20的直播,有一些关于鸿蒙的问题想问大家
7097浏览 • 2回复 待解决
如何在ArkTS代码中执行HTML内的JS函数
309浏览 • 1回复 待解决
新线程中调用的函数没返回,怎么结束线程?
699浏览 • 1回复 待解决
关于《华为帐号登录管理细则》的一些疑问
94浏览 • 1回复 待解决
需要用手势处理一些旋转缩放的问题,鸿蒙手势问题
5047浏览 • 1回复 待解决
关于liteos,有一些疑惑
7428浏览 • 3回复 待解决
UIAbility的onDestroy()函数是同步的,怎么保证异步方法执行完
224浏览 • 1回复 待解决
学着写了一个登陆页面出现一些问题 怎么处理?
505浏览 • 1回复 待解决
怎样创建多进程,用来处理一些任务?
126浏览 • 1回复 待解决
Js如何定义callback函数
271浏览 • 1回复 待解决
推理函数支持的数据格式有哪些?
210浏览 • 1回复 待解决
最新系统手机下部会有一些留白
61浏览 • 1回复 待解决
在一些场景下,不需要顶部的状态栏。如何设置页面全屏呢
40浏览 • 1回复 待解决
请问鸿蒙有没有开放,让开发者可以引用原生UI的一些图标组件之类的?
2793浏览 • 1回复 待解决
1.Promise返回了一个promise对象,由于返回前有await关键字,会等待promise的resolve后返回,由于await后Promise已经resolve,此时返回值是number。async函数又会返回一个promise对象,此对象会在执行taskpool的callback函数返回结果
2.Promise返回了一个promise对象,async函数又会返回一个promise对象,返回结果变成了Promise<Promise<number>>,两层promise会导致序列化失败报错
3.Promise返回了一个promise对象,会等待promise的resolve后返回执行taskpool的callback函数返回结果
对于1 & 2差异在于多返回了一层promise对象,返回时导致序列化失败报错;callback函数会在promise对象返回resolve或者reject后返回结果