node.js - 无法从 node.js 函数返回数据
问题描述
尝试从 node.js 中的函数检索数据时遇到问题。我对节点和异步编程有点陌生,所以我可能只是忽略了一些东西,但感谢任何帮助。这是代码:
function CallFunc1(col,row){
var GoogleSpreadsheet = require('google-spreadsheet');
var creds = require(Client-Secret Filepath);
var doc = new GoogleSpreadsheet(My Spreadsheet's ID);
doc.useServiceAccountAuth(creds, function (err) {
doc.getCells(1,{'min-row':row,'max-row':row,'min-col':col,'max-col':col}, function (err,resp){
var trv = resp[0];
global.trvf = trv.value
console.log(trvf);
return trvf
});
});
}
console.log(CallFunc1(2,3));
问题是当我运行它时,它返回值“未定义”。它在控制台中打印正确的结果,但是当尝试从函数外部调用任何数据时,它似乎不起作用。
如果这已经被回答或者这有点像菜鸟问题,我很抱歉。
解决方案
为什么不在trvf
函数之前设置一个变量,所以它会自动成为全局变量,然后执行trvf = trv.value
and return trvf
。