如何使用SetInterval和Promises

时间:2018-03-14 06:08:40

标签: node.js promise

我有一个功能:

function update_log_file(){
    return new Promise(function(resolve, reject){

        setInterval(function(){
            let logFile = '\\\\network\\sharedfolder\\GG\\' + moment(Date.now()).format('YYMMDD') + 'data_log.txt';

                let log_with_batch = {
                    log: logFile,
                    batch: 'new'
                }

                resolve(log_with_batch);

        }, 2000);


    });
}

和调用者:

    update_log_file().then(function(log_with_batch){
       console.log(log_with_batch);
       tail = new Tail(log_with_batch.log);
       tail.on('line', function(data){
        console.log(data)
       });

       tail.error('error', function(error){
        console.log(error)
       });
    });

如何使用promises和setInterval每2秒查看一次“log_with_batch”对象?

请随时纠正我的功能。 谢谢!

1 个答案:

答案 0 :(得分:0)

选中此项,在update_log_file中您不需要承诺。承诺只解决一次。

function tailExec() {
    let logFile = '\\\\network\\sharedfolder\\GG\\' + moment(Date.now()).format('YYMMDD') + 'data_log.txt';
    tail = new Tail(logFile );
    tail.on('line', function (data) {
        console.log(data)
    });
    tail.error('error', function (error) {
        console.log(error)
    });
}

setInterval(tailExec, 2000);