问题描述
This question是相同的,但是答案不起作用。
尝试等待异步静态函数中的函数会产生以下错误:Uncaught SyntaxError: await is only valid in async function
。
两个函数都是静态的。为什么这行不通?
static async getimageDataFromFile(file) {
// Create promise.
let promise = $.Deferred();
// Create reader.
let reader = new FileReader();
// Process image.
reader.onload = function(e) {
// Get data URL for image.
let dataUrl = reader.result;
// Get image data.
let imageData = await this.getimageDataFromDataUrl(dataUrl);
promise.resolve(imageData);
}
// Read image from hard disk.
reader.readAsDataURL(file);
// Return promise.
return promise;
}
static getimageDataFromDataUrl(dataUrl) {
// Create promise.
let promise = $.Deferred();
// Create new image object.
let image = new Image();
// Read image properties when loaded.
image.onload = function() {
// Wrap data in object.
let data = {
image: image,width: image.naturalWidth,height: image.naturalHeight,}
// Resolve promise.
promise.resolve(data);
}
// Start loading image.
image.src = dataUrl;
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)