比如:jQuery.ajax、Axios 等?
需要了解具体原理。在 H5 中对于 JavaScript Ajax 都是调用的 XMLHttpRequest 或 ActiveXObject(“Microsoft.XMLHTTP”) 对象。最终调用浏览器组件。那么在HarmonyOS API 是如何将JavaScript编译成原生对象的?对应的原生网络请求的API是什么?如何关联起来的?
比如:jQuery.ajax、Axios 等?
需要了解具体原理。在 H5 中对于 JavaScript Ajax 都是调用的 XMLHttpRequest 或 ActiveXObject(“Microsoft.XMLHTTP”) 对象。最终调用浏览器组件。那么在HarmonyOS API 是如何将JavaScript编译成原生对象的?对应的原生网络请求的API是什么?如何关联起来的?
1 回答563 阅读✓ 已解决
1.3k 阅读
534 阅读
关于上述问题,可以调用,但是不建议,还是建议使用HarmonyOS原生的api,因为使用ArkTS调用js有一些弊端:
1、无法做完整的类型校验, 部分类型、兼容性问题, 无法在编译器阶段检查出来
2、JS/TS没有类型强约束, 会导致运行时的效率变低
3、后续我们会在运行时优化ArkTS源码,如果存在JS/TS的调用, 将损失部分优化效果
因此, 建议开发者都通过ArkTS语法进行HarmonyOS应用开发
所以还是建议使用原生的api或者axios三方库
原生的api:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/network-arkts-V5三
方库axios:https://ohpm.openharmony.cn/\#/cn/detail/@ohos%2Faxios
另外,ArkTS编译后是js,而不是将JavaScript编译成原生对象的。