使用GHCJS XHR发送二进制数据

时间:2016-03-11 01:15:43

标签: xmlhttprequest ghcjs

我有一个ByteString需要通过GHCJS中的XHR发送,但我不能在我的生活中找出如何将ByteString转换为XHR的RequestData

data RequestData = NoData
                 | StringData     JSString
                 | TypedArrayData (forall e. SomeTypedArray e Immutable)
                 | FormData       [(JSString, FormDataVal)]

显然TypedArrayData是我需要使用的,但是我没有运气,想知道如何转换ByteString以适应那里。我看了this,我尝试过这样的事情。

setData r bs = do
    let (b, _, _) = fromByteString $ toStrict bs
    return r { XHR.reqData = XHR.TypedArrayData $ getUint8Array b }

但由于某种原因,我遇到了种类的奇怪错误。

Couldn't match kind ‘AnyK’ with ‘*’
Expected type: GHCJS.Buffer.Types.SomeBuffer
                 'ghcjs-base-0.2.0.0:GHCJS.Internal.Types.Immutable
  Actual type: Buffer
In the first argument of ‘getUint8Array’, namely ‘b’
In the second argument of ‘($)’, namely ‘getUint8Array b’

据我所知,这些类型不应该是不相容的。

0 个答案:

没有答案