JS 从 blob 中获取字符串
JS get string from blob
我有一个功能
async function create_blob(image) {
const blob = new Blob([image])
return await blob.text()
}
我希望它成为 return 一个字符串。当我尝试使用此数据时,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
作为 element parameter
传入即可。
因为它是一个 promise,所以你无法在返回 promise 的那一刻获得 promise 的值除非 promised 的动作是同步的,即 blob不是。
此函数将以一种看似立即但实际上略有延迟的方式应用值。这就是 promises 的工作方式,遗憾的是你无法绕过它。
我有一个功能
async function create_blob(image) {
const blob = new Blob([image])
return await blob.text()
}
我希望它成为 return 一个字符串。当我尝试使用此数据时,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
作为 element parameter
传入即可。
因为它是一个 promise,所以你无法在返回 promise 的那一刻获得 promise 的值除非 promised 的动作是同步的,即 blob不是。
此函数将以一种看似立即但实际上略有延迟的方式应用值。这就是 promises 的工作方式,遗憾的是你无法绕过它。