我正在做一个网络应用程序,在发布一些推文后,它会返回转发数量等信息。 我遇到的问题是我无法存储twitter api返回的数据。
从API加载数据的twitter函数是:
exports.loadTwit = function(){
return function(req,res,next){
let responseDataObject = [];
req.twitter.forEach(function(entry) {
T.get('statuses/show/'+entry.id,loaded);
});
async function loaded(error, data, response){
if (error) {
console.log(error);
}else{
dati = await data;
responseDataObject.push(dati);
console.log(responseDataObject); // shows the data
}
}
console.log(responseDataObject); // shows []
res.render('db',{dati: responseDataObject});
}
}
我想将数据存储在responseDataObject中。我把async / await放了,因为我认为它是异步的所以我必须等待数据。 注释中显示的问题是,在加载的函数内部,我可以看到responseDataObject的内容,在它之外它给了我一个空数组。 我不知道如何解决它,任何帮助表示赞赏。 感谢