未捕获的SyntaxError:等待仅在静态函数内的异步函数中有效

问题描述

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 (将#修改为@)