HarmonyOS ArkTS HTTP 请求简单封装(二十二)

在鸿蒙ArkTs 中进行 HTTP 请求封装可以通过使用 http 模块来实现。以下是一个简单的示例,演示如何在鸿蒙ArkTs 中封装 HTTP 请求:

  • 1、首先,创建一个 HttpUtil.ts 文件,并引入相关模块:
bash 复制代码
import { HttpMethod, Request, Response, sendRequest } from '@ohos-tool/http';
  • 2、编写一个简单的 HTTP 请求封装函数,例如:
bash 复制代码
export async function httpRequest(url: string, method: HttpMethod, data?: any): Promise<any> {
    const request: Request = {
        url: url,
        method: method,
        data: data ? JSON.stringify(data) : undefined,
        header: {
            'Content-Type': 'application/json'
        }
    };

    try {
        const response: Response = await sendRequest(request);
        if (response.statusCode === 200) {
            return JSON.parse(response.data);
        } else {
            console.error(`HTTP request failed with status code: ${response.statusCode}`);
            return null;
        }
    } catch (error) {
        console.error(`An error occurred during the HTTP request: ${error}`);
        return null;
    }
}

在这个示例中,我们定义了一个 httpRequest 函数,接收 URL、HTTP 方法和可选的数据作为参数。函数会将请求发送到指定的 URL,并返回响应数据(如果请求成功的话)。

  • 3、在其他文件中使用这个封装好的 HTTP 请求函数,例如:
bash 复制代码
import { HttpMethod } from '@ohos-tool/http';
import { httpRequest } from './HttpUtil';

async function fetchData() {
    const url = 'https://jsonplaceholder.typicode.com/posts/1';
    const method = HttpMethod.GET;

    const response = await httpRequest(url, method);
    if (response) {
        console.log(response);
    } else {
        console.log('Failed to fetch data');
    }
}

fetchData();

在这个示例中,我们导入了 httpRequest 函数并使用它来发送一个 GET 请求,然后打印响应数据或错误消息。

请确保在项目中添加对应的依赖库,以及在 config.json 中配置 TypeScript 编译选项,确保项目能够正确编译并运行。这只是一个简单的示例,你可以根据实际需求对 HTTP 请求封装进行更复杂的处理。

相关推荐
特立独行的猫a31 分钟前
鸿蒙 PC 平台 Rust 语言第三方库与应用移植全景指南
华为·rust·harmonyos·三方库·鸿蒙pc
yuegu77737 分钟前
HarmonyOS应用<节气通>开发第5篇:节气详情页(上)——页面布局与数据展示
华为·harmonyos
草莓熊Lotso2 小时前
【Linux网络】深入理解 HTTP 协议(二):从协议格式到手写工业级 HTTP 服务器
linux·运维·服务器·网络·c++·http
花椒技术12 小时前
复杂直播业务做 RN 跨端,我们最后保留了哪些 Native 边界
react native·react.js·harmonyos
瑶总迷弟13 小时前
使用 mis-tei 在昇腾310P上部署 bge-m3模型
pytorch·python·华为·语言模型·自然语言处理·cnn·unix
不羁的木木14 小时前
《HarmonyOS技术精讲》四:驱动开发入门 ── 标准外设与非标USB串口
驱动开发·华为·harmonyos
不羁的木木15 小时前
《HarmonyOS底部页签-沉浸光感组件实战》高级定制:图标出血与分割线
华为·harmonyos
Goway_Hui16 小时前
【鸿蒙原生应用开发--ArkUI--015】File-manager 文件管理器应用开发教程
华为·harmonyos
不羁的木木19 小时前
《HarmonyOS底部页签-沉浸光感组件实战》基础入门:认识HdsTabs容器与核心配置
华为·harmonyos
不羁的木木19 小时前
《HarmonyOS技术精讲》三:记忆链接 ── 跨场景数据融合
pytorch·华为·harmonyos