接入方式
HttpClient 和各绑定的网络入口用于宿主数据访问。明确超时、取消、错误与响应大小限制,不让网络等待阻塞 UI 线程。后端返回的数据先验证,再用作界面文本或业务状态。
约束和排错
资源路径以应用部署目录和实际加载规则为准。开发机上能找到图片或字体不代表部署包齐全;在干净目录验证页面、CSS、字体、图片和扩展资源。不要把网络数据直接拼成 Lua 代码。
选择回调线程
HttpClient::fetchSync 会阻塞调用线程;fetchAsync 的回调可能来自工作线程。要在回调中更新界面,可使用 fetchAsyncOnMainThread,前提是平台已初始化且事件循环在运行。
void fetchForUi(kui::HttpClient& client, const kui::String& url,
kui::HttpClient::Callback onComplete) {
client.fetchAsyncOnMainThread(url, std::move(onComplete), 10.0);
}响应与取消
Response 包含 statusCode、body、contentType 和 error。检查传输错误和 HTTP 状态,限制业务可接受的数据大小,再解析内容。HttpClient 由应用持有;窗口销毁或请求不再需要时取消,并避免回调访问旧文档元素。
client.cancelAll();把网络结果放进界面
按下面的顺序验证一个最小场景,再接入完整应用。
- 按钮点击后设置加载状态,防止不受控的重复请求。
- 使用异步接口,在回调中区分请求失败、HTTP 状态与内容解析错误。
- 设置超时,关闭页面后不要再使用旧节点;凭据由宿主管理。
- 把成功、失败、空数据与重试分别做成可见状态,不只打印控制台。
文档有误或遗漏?
反馈此页问题 →