如何在React Native中跟踪countOfResponseBodyBytesReceived和countOfResponseBodyBytesAfterDecoding(类似于iOS)?

问题描述 投票:0回答:1

在 iOS (13.0+) 中,NSURLSessionTaskMetrics 提供以下属性:

@available(iOS 13.0, *)
open var countOfResponseBodyBytesReceived: Int64 { get }

@available(iOS 13.0, *)
open var countOfResponseBodyBytesAfterDecoding: Int64 { get }

countOfResponseBodyBytesReceived:该属性表示从服务器接收到的字节总数。 countOfResponseBodyBytesAfterDecoding:该属性表示解码后响应正文的大小

我正在开发一个 React Native 项目,并希望使用 Axios 实现相同的功能。 具体来说,我需要: 跟踪网络请求期间接收到的总字节数(类似于

countOfResponseBodyBytesReceived
)。 计算解码后的响应主体的大小(类似于
countOfResponseBodyBytesAfterDecoding
)。

在 React Native 中实现这一目标的最佳方法是什么?是否有任何库或技术可以帮助我跟踪这些指标 任何代码示例或建议将不胜感激!

react-native axios fetch-api
1个回答
0
投票

我认为你需要使用axios拦截器,更具体地说是拦截器的响应。 在标头中,我们的内容长度为 countOfResponseBodyBytesReceived (需要用parseInt解析)

为了计算解码字节数,您可以使用

  new Blob([response]).size;

获取活跃的 countOfResponseBodyBytesAfterDecoding

如果你想对它们进行计数,那么你需要在拦截器之外创建变量,并将所有收到的信息加在一起

© www.soinside.com 2019 - 2024. All rights reserved.