bet*_*123 6 javascript callback node.js
我正在使用 Node.js 的“pdf-text”模块将 pdf 转换为字符串数组,然后从中获取特定元素。但问题是,只有当我在回调中时,我才能访问数据“块”。我想将它存储在某个全局变量中,以便我可以在不同的文件中使用它。我尝试过在函数内将数组的元素存储在变量内,但没有成功。这是代码:
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);
Run Code Online (Sandbox Code Playgroud)
PS 我对 Node.js 和 JavaScript 相当陌生,非常感谢您的帮助。
当调用回调时,输出变量只会设置为“块”内容。
顺便说一句,您需要添加“);” 在 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
Run Code Online (Sandbox Code Playgroud)
关于js回调:https://www.tutorialspoint.com/nodejs/nodejs_callbacks_concept.htm