我试图将名为“sheetsArray”的数组从下面的代码中传递出来,以便我可以将它用于某些任务。尽管尝试了很多事情并在谷歌上搜索了几个小时,但我一生都无法弄清楚如何做到这一点。我确信这很容易,但我什至不确定我应该搜索什么,但我没有搜索。
var sheetsArrayOut = sheets.spreadsheets.get({
auth: googleauth,
spreadsheetId: outputDOCID,
}, function(err,response) {
if (err) {
console.log('ERROR:' + err);
return
}
var sheets = response.sheets;
if (sheets.length == 0) {
console.log('No data found.');
} else {
var sheetsArray = [];
for (i = 0; i < sheets.length; i++) {
sheetsArray.push(sheets[i].properties.title);
}
}
console.log(sheetsArray[4]); // this returns the sheet name
return sheetsArray;
});
console.log(sheetsArrayOut[4]); // this returns undefined
最佳答案
它返回未定义
,因为我怀疑该函数是异步的。在这种情况下,您可能可以使用回调来达到良好的效果:
function getData(function (sheetsArray) {
// do things with sheetsArray
});
function getData(callback) {
sheets.spreadsheets.get({
auth: googleauth,
spreadsheetId: outputDOCID,
}, function(err,response) {
// do a bunch of things
callback(sheetsArray);
});
}
关于javascript - 如何传回数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47948190/