首页 > 解决方案 > 如何从外部访问闭包的内容

问题描述

我使用以下代码逐行读取文件。但是该行的内容是在一个闭包中,我该怎么做才能访问外面的行内容?我使用的模块是node.js的内部模块

  var fs=require("fs")
 function readFirstLine(){
    var firstfile = [];
    readline = require('readline');

    var rd = readline.createInterface({
        input: fs.createReadStream('somefile.txt'),
        output: process.stdout,
        terminal: false
    });

    rd.on('line', function(line) {
        console.log(line)  
    }
    );

}
    readFirstLine()

标签: javascriptnode.jsclosures

解决方案


您可以将每一行推送到外部数组,但您不知道 readline 何时完成读取文件。

最简单的方法,使用async/await.

如何从异步调用返回响应?


推荐阅读