我有这个代码尝试使用XMLHttpRequest获取blob,然后将其传递给Promise的resolve
。
Mixer.get_blob = ($tmp_audio) ->
new Promise (resolve, reject) ->
xhr = new XMLHttpRequest()
blob_url = $tmp_audio.attr("src")
xhr.open "GET", blob_url, true
xhr.responseType = "blob"
xhr.on
xhr.onload = (e) ->
if this.status == 200
blob = this.response
resolve(blob)
xhr.send()
当blob有一些内容时,它可以正常工作。问题是当blob为空时,我在控制台中看到了这一点:
但是状态仍然显示为200,因此它仍然会被发送到服务器。为什么没有正确检测到状态,如何捕获此错误?我已经尝试过设置断点,但我无法看到错误产生的代码行。