sskcal 2019-04-16 10:31 采纳率: 40%
浏览 685

像NODEJS,有些方法有同步有异步,然后经常又把异步回调写成同步。。

var fs = require('fs')

function rf(){
    return new Promise((resolve,reject)=>{
        fs.readFile('./src/main.js',function(err,data){
            if(err){
                reject(err)
            }
            resolve(data.toString())
        })
    })

}

var start = async()=>{
    var txt =await rf();
    var txt1 = fs.readFileSync('./src/main.js',{encoding:'utf8'});
    console.log(txt === txt1)
}


start();

既然有同步方法,为啥搞这么麻烦。。。
费这么大劲写一个promise,为啥不直接用readyFileSync呢?

  • 写回答

1条回答 默认 最新

  • 迷路的公民 2019-04-16 11:44
    关注

    没怎么接触nodejs,但我看了一下,觉得第一个是从磁盘或者远程读取main.js,这个是比较耗时的,使用异步可以不阻塞系统干其他事,可以同时执行其他代码(比如加载其他js),第二个同步加载则是如果第一步成功从本地加载,有检测文件的意思,如果第一步没加载成功则阻塞系统等待加载文件,防止后续执行由于缺少文件报错

    评论

报告相同问题?

悬赏问题

  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题