我正在尝试从JavaScript函数导出数组,但是似乎存在问题。该函数的代码如下:
function fetchThemesList() {
let themes = new Array()
let options = {(...)}
request(options, function(error, response, body) {
let i = 0;
JSON.parse(body).forEach(element => {
themes.push(element.name)
//console.log(themes) debug
});
return themes;
})}
fetchThemesList();
我想做的是返回themes
变量的值,但是不管我做什么,它都将无法工作。在函数本身中使用console.log
时,我将得到undefined
或一个空数组([]
)。但是当我尝试登录该函数内部时,删除注释标记,我将看到结果被添加到数组中:
$ node themes.js
undefined
[ 'result-zero' ]
[ 'result-zero', 'result-one' ]
该函数似乎正在异步执行,并且空白数组首先输出,但是我尝试使用具有相同代码的Promises并获得相同的结果。
谢谢。