javascript - JS从blob中获取字符串
问题描述
我有一个功能
async function create_blob(image) {
const blob = new Blob([image])
return await blob.text()
}
我希望它返回一个字符串。当我尝试使用此数据时, blob_hidden_input.value = create_blob(file_object)
blob_hidden_value.value 是“[Promise object]”。那么如何在没有黑魔法的情况下将 Promise 转换为字符串呢?
解决方案
好吧,你必须做一些黑魔法才能让它发挥作用。但是,嘿,黑魔法有时很有趣。
function apply_blob(element, image) {
(new Blob([image]).text().then(value => element.value = value);
}
只需传入blob_hidden_input
as 即可element parameter
。
因为它是一个 Promise,所以在返回 Promise 的那一刻,您无法获取 Promise 的值,除非Promise 动作是同步的,而 Blob 不是。
此函数将以一种看似立即的方式应用该值,但实际上它会稍微延迟。这就是 Promise 的工作方式,你无法解决它。
推荐阅读
- python - ValueError:不能在“SVC”中使用密集数据训练的稀疏输入
- ios - 如何使用 segue 将数据从 First ViewController 直接传递到 Third View Controller?
- excel - 将二维矩阵分解为值;标题格式
- google-cloud-platform - 如何在 Apache Beam 中展平窗口化的 pcollections?[云数据流]
- angularjs - 角度指令在jsp中不起作用
- android - 即使由唯一 ID 提供,通知也不会立即显示
- node.js - 带有 Postman 请求的 Twilio Webhook
- windows - 获取适用于 Windows 的 UnxUtils tr.exe 可以像 Unix tr 一样使用字符转义
- angular - 角度迁移(从 4 到 6)e2e --proxy-config 不起作用
- python - 如何使用python中的时间戳在数据框中进行小时计算?