Javascript 如何将这些箭头函数转换为常规函数以支持IE?

Javascript 如何将这些箭头函数转换为常规函数以支持IE?,javascript,internet-explorer,promise,arrow-functions,Javascript,Internet Explorer,Promise,Arrow Functions,我是JavaScript新手,不知道如何将这两个箭头函数转换为常规函数。如果有人能转换他们,给我一个解释,那将是伟大的 function getBase64(file) { try { return new Promise(resolve => { //var file = new File([filename], filepath); var reader = new FileReader(); // Read file conte

我是JavaScript新手,不知道如何将这两个箭头函数转换为常规函数。如果有人能转换他们,给我一个解释,那将是伟大的

function getBase64(file) {
    try {
            return new Promise(resolve => {
    //var file = new File([filename], filepath);
    var reader = new FileReader();
    // Read file content on file loaded event
    reader.onload = function(event) {
            $window.setTimeout(()=>{
        resolve(reader.result.replace(/^data:.+;base64,/, ''));
            },250);
    };      
    reader.readAsDataURL(file); 
            });
    }
        catch (e)
            {
                console.log ("error "+ e);
            }
    }
x、 y,z=>w

变成

函数x,y,z{返回w;}

=>{y;}

变成


函数{y;}

社区成员已经向您提供了将箭头函数转换为常规函数的建议

所以我希望你现在对如何手动操作有了一个想法

如果您有一个使用数百个箭头函数的大型代码,那么我建议尝试使用将您的ES6代码转换为可与IE浏览器一起使用的ES5代码

对于大型代码,将箭头函数转换为常规函数是最简单的方法

使用Babel传输代码的示例:

"use strict";

function getBase64(file) {
  try {
    return new Promise(function (resolve) {
      //var file = new File([filename], filepath);
      var reader = new FileReader(); // Read file content on file loaded event

      reader.onload = function (event) {
        $window.setTimeout(function () {
          resolve(reader.result.replace(/^data:.+;base64,/, ''));
        }, 250);
      };

      reader.readAsDataURL(file);
    });
  } catch (e) {
    console.log("error " + e);
  }
}

=>将是函数,但IE不使用承诺。为什么是IE?删除粗箭头=>并在括号中的参数列表前添加关键字函数。@不过IE11有Promise库。