javascript - 从回调中获取数据

标签 javascript node.js callback

我正在使用 Node.js 的“pdf-text”模块将 pdf 转换为字符串数组,然后从中获取特定元素。但问题是,只有当我在回调中时,我才能访问数据“ block ”。我想将它存储在一些全局变量中,以便我可以在不同的文件中使用它。我曾尝试在函数内部将数组的元素存储在变量中,但没有成功。这是代码:

var pdfText = require('pdf-text');

var pathToPdf = "PDF FILE NAME";

var fs = require('fs');
var buffer = fs.readFileSync(pathToPdf);

var output;

pdfText(buffer, function(err, chunks){

    if (err){
      console.dir(err);
      return;
    }
    console.dir(chunks);
    output = chunks;
}

console.dir(output);

附言我是 Node.js 和 JavaScript 的新手,非常感谢您的帮助。

最佳答案

当调用回调时,输出变量只会设置“ block ”内容。

顺便说一句,你需要添加“);”在 pdfText 函数调用的回调函数声明之后。

var pdfText = require('pdf-text');

var pathToPdf = "PDF FILE NAME";
var fs = require('fs');
var buffer = fs.readFileSync(pathToPdf);

var output;

pdfText(buffer, function(err, chunks){

    if (err){
      console.log(err);
      return;
    }
    otherFunction(); // undefined
    output = chunks;
    otherFunction(); // chunks content

});

function otherFunction() {
  console.log(output);
}

console.log(output); // undefined

关于js回调:https://www.tutorialspoint.com/nodejs/nodejs_callbacks_concept.htm

关于javascript - 从回调中获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44298196/

相关文章:

javascript - NodeJS - 如何将变量发送到嵌套回调? (MongoDB 查找查询)

javascript - Wavesurfer 时间轴插件下载已被弃用?

javascript - 如何动态配置 Passportjs 策略?

node.js - 如何创建 GitHub 操作以使用 Yarn 运行 Jest 测试?

javascript - 什么是 `emit` javascript 函数?

c++ - 使用 QT 的周期性代码

javascript - 在移动媒体屏幕中禁用图像映射

javascript - 我可以预先声明变量来解构对象的赋值吗?

javascript - 如何在 JavaScript 中为 D3 构建数据集?

c# - 如何将 PropertyChangedCallback 添加到基类的依赖属性?