HarmonyOS 取消http请求?

我在使用@kit.NetworkKit时,使用let httpRequest = http.createHttp();创建了网络请求。在请求过程中如果想要取消本次请求,我没有找到cancel方法,是否应该调用httpRequest.destroy();?这个就是取消请求吗?

我看指南里在请求结束后才调用destroy(),但我在下载的示例代码里又没看到调用这个方法,所以这个destroy是必须调用的吗?如果不调用会有什么问题?

总结起来是两个问题:

1、取消本次请求,是否是直接调用httpRequest.destroy();即可?如果可以,那么取消后,再次请求时,是否需要重新调用 http.createHttp();?

2、在网络请求完成后,是否必须调用httpRequest.destroy();?如果不调用会怎样?

阅读 488
1 个回答

@kit.NetworkKit没有cancel方法,如果非要用,那可以试下rcp的请求方式:

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/remote-communication-rcp-V5\#section14571174220320

如果要用@kit.NetworkKit,那destroy方法也可以满足。

需要注意直接调destroy,调用之后再次请求,是要重新 http.createHttp();

还有就是请求完没有说必须调用httpRequest.destroy(),可以多次使用发起请求,但是不destroy可能会发生内存不断上涨的情况,需要业务方做好管理。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进