写了个脚本把material-ui的图标js文件转换为svg文件,由于文件数量多,出现EMFILE: too many open files错误。
改为等待writestream关闭。
function changeOne(one){
return new Promise(
function (resolve, reject) {
var F1=require("@material-ui/icons/"+one).default;
var str=ReactDOMServer.renderToString(React.createElement(F1, null))
const file = fs.createWriteStream("mui_icons/"+one+".svg");
file.write(str);
file.end();
file.on('close', () => {
console.log(one);
resolve('成功') // 数据处理完成
});
}
)
}
async function main(){
for(var i=0;i<files2.length;i++){
await changeOne(files2[i]);
}
}
main()