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),第二个同步加载则是如果第一步成功从本地加载,有检测文件的意思,如果第一步没加载成功则阻塞系统等待加载文件,防止后续执行由于缺少文件报错

    评论

报告相同问题?

悬赏问题

  • ¥200 相机拍直接转存到电脑上 立拍立穿无线局域网传
  • ¥15 (关键词-电路设计)
  • ¥15 如何解决MIPS计算是否溢出
  • ¥15 vue中我代理了iframe,iframe却走的是路由,没有显示该显示的网站,这个该如何处理
  • ¥15 操作系统相关算法中while();的含义
  • ¥15 CNVcaller安装后无法找到文件
  • ¥15 visual studio2022中文乱码无法解决
  • ¥15 关于华为5g模块mh5000-31接线问题
  • ¥15 keil L6007U报错
  • ¥15 webapi 发布到iis后无法访问