HarmonyOS 鸿蒙Next 新建的ets工程为何不能引用@ohos.net.http的接口

发布于 1周前 作者 nodeper 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 新建的ets工程为何不能引用@ohos.net.http的接口

创建一个ets的demo工程,在app.ets中 直接调用 http的接口,构建可以通过,比如:

import http from "@ohos.net.http";

let req = http.createHttp();

但是封装到一个类里就不行,例如

class HttpUtil {
    private req: http.HttpRequest; // line:38
    constructor() {
      this.req = http.createHttp();
    }
}

构建显示错误信息如下:

ETS:ERROR File: D:\harmony\demo\entry\src\main\ets\default\app.ets:38:18

TS2503: Cannot find namespace ‘http’.

不仅这个写法,还有

this.req.request(url, options).then((data: http.HttpResponse) => { ...});

同样报错

是不是当前的构建对ts的写法有限制,还做不到全量的ts语法支持?!


更多关于HarmonyOS 鸿蒙Next 新建的ets工程为何不能引用@ohos.net.http的接口的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

4 回复

请问楼主解决了吗,是需要把变量定义在哪里吗?

更多关于HarmonyOS 鸿蒙Next 新建的ets工程为何不能引用@ohos.net.http的接口的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


楼主你好,目前暂不支持该能力,请持续关注HarmonyOS官网。

欢迎开发小伙伴们进来帮帮楼主

在HarmonyOS 鸿蒙Next中,新建的ets(Extension TypeScript)工程无法直接引用@ohos.net.http的接口,主要原因在于ets工程主要面向前端应用开发,而@ohos.net.http接口通常用于系统级或应用后端的网络请求,它更多地被ArkTS(Ark TypeScript)或原生模块(如Java或C++)使用。

ets工程主要用于开发具有UI界面的应用程序,它基于TypeScript语言,并提供了丰富的UI组件和框架,以便开发者能够高效地构建用户界面。由于ets工程在设计上更注重于前端逻辑和UI展示,因此它并不直接支持系统级的网络请求接口。

如果你需要在ets工程中进行网络请求,建议使用HarmonyOS提供的网络请求库,如Fetch API或XMLHttpRequest,这些库在ets工程中是可以正常使用的,并且能够满足大多数前端网络请求的需求。

如果你确实需要在ets工程中调用@ohos.net.http接口,可能需要考虑将相关逻辑封装在ArkTS或原生模块中,并通过某种形式的接口(如JSBridge)与ets工程进行通信。

如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html

回到顶部