我的目标是在多平台项目的JS实际类中实现Http请求调用。
http 请求应该返回一个二进制数据
我的Response公共类看起来很简单
class Response(val binaryData: ByteArray) {
var code: Int = 0
var message: String? = null
var headers: Map<String, String>? = null
var body: ByteArray = binaryData
}
数据应作为ByteArray提供
现在获取逻辑看起来像
actual class Call(var request: Request) {
actual fun enqueue(responseCallback: Callback) {
window.fetch(request.url).then(onFulfilled = { response ->
response.arrayBuffer().then(onFulfilled = {
responseCallback.onResponse(this, Response(it))
}, onRejected = { error ->
responseCallback.onFailure(this, Exception(error.message))
})
}
}
所述response.arrayBuffer()具有ArrayBuffer类型而它在响应(它)应ArrayByte
我尝试谷歌搜索了一段时间。不幸的是,我没有找到任何解决方案。
谁能帮我解决转换类型的问题
提前致谢
如果我理解你的porblem纠正妥善的解决办法可能是建立Int8Array
从ArrayBuffer
投下它ByteArray
喜欢这个
Int8Array(it).unsafeCast<ByteArray>()
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句