请问ArkTS中Promise的底层实现逻辑是什么样的?

​1. 请问ArkTS中Promise的底层实现逻辑是什么样的?我理解它的挂起与继续执行,应该并不涉及到线程切换对吧?

2. 用HarmonyOSHTTP网络请求接口发起请求时,返回了一个Promise,它的内部实现中有另起线程吗?比如网络请求或文件上传/下载,应该不是在主线程中进行的吧?

3. 当我基于HarmonyOS网络请求接口封装网络库时,是否还需要自行管理一个线程池呢?如果实际的文件上传/下载等耗时操作是另起线程实现的,那么我们应该不需要再自行管理一个线程池?​

HarmonyOS
2024-11-04 11:06:44
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
put_get

​1.ArkTS本身是单线程的,ArkTS中的promise,await/async类似JS的协程处理模式,异步代码会被挂起并在之后继续执行,同一时间只有一段代码执行,适用于单次I/O任务的场景开发,例如一次网络请求、一次文件读写等操作。

2.Promise会阻塞主线程。

3.网络请求可能还好,最好是trace看下,如果微秒级 那也可以不用多线程更多的可以参考 :​https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/concurrency-overview-0000001774120090

分享
微博
QQ
微信
回复
2024-11-04 16:07:03
相关问题
HarmonyOS 内存模型是什么样
306浏览 • 1回复 待解决
OceanBase是什么样数据库?
3606浏览 • 1回复 待解决
系统多线程模型是什么样
1778浏览 • 1回复 待解决
ForEach循环渲染过程是什么样
838浏览 • 1回复 待解决
C/musl库支持情况是什么样
639浏览 • 1回复 待解决
请问ArkTSthis使用场景是什么
2005浏览 • 1回复 待解决
什么Promise,特点是什么?
316浏览 • 1回复 待解决