node中 自制模块获取时间戳不能更新

问题

被require的模块里 过去时间戳, 第二次也获取了和第一次相同的时间戳~~~


代码

前面代码正常, 先只给出出问题的地方, 大佬需要我再贴全部吧


a.js 使用express router


let module = require('./b.js');

router.post('/api',(req,res)=>{

    b.main(()>{

        req.status(200).json({})

    })

})


b.js


function main(){

    if(true){

        let cmodule = require('./c.js');

        cmodule.main()

    }

}

exports.main = main

c.js


var fs = require('fs'),

    timestamp = new Date().getTime(),

    dhh = fs.createWriteStream('./aa'+timestamp+'.txt');

function main(){

    console.log(timestamp)

    if(当满足条件){

        dhh.end("Done"); // 将可写流关闭, 变成为不可写状态

        return;

    }

    stream = fs.createReadStream('./aa.txt');

    stream.pipe(dhh, {end: false});

    stream.on("end", function() {

        main();        

    });

}

exports.main = main

index.html


ajax.post '/api'

控制台


第一次 console.log(timestamp) 1526885307155


第二次 console.log(timestamp) 1526885307155

结果一样,不知原因~求指教


喵喵时光机
浏览 431回答 1
1回答

摇曳的蔷薇

你的c模块一加载就已经执行了,后面都是取得执行后的结果
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript