问题描述
我是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);
}
}
解决方法
社区成员已经为您提供了将箭头功能转换为常规功能的建议。
所以我希望您现在对手动操作有一个了解。
如果您有使用数百个箭头功能的大型代码,则建议尝试使用Babel.js将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);
}
}
,
(x,y,z) => w
成为...
function(x,z){ return w; }
() => { y; }
成为
function() { y; }