Node.js 试图在s3.getObject函数范围外使用时,我的变量取未知值

Node.js 试图在s3.getObject函数范围外使用时,我的变量取未知值,node.js,amazon-s3,Node.js,Amazon S3,我在nodejs应用程序中使用了s3.getObject函数,无法在s3.getObject块的范围之外使用变量 这是我用来将数据呈现到视图中的my nodejs应用程序控制器 //版权所有2018 IBM Corp.保留所有权利。 // //根据Apache许可证2.0版(以下简称“许可证”)获得许可; //除非遵守许可证,否则不得使用此文件。 //您可以通过以下方式获得许可证副本: // // http://www.apache.org/licenses/LICENSE-2.0 /

我在nodejs应用程序中使用了s3.getObject函数,无法在s3.getObject块的范围之外使用变量

这是我用来将数据呈现到视图中的my nodejs应用程序控制器

//版权所有2018 IBM Corp.保留所有权利。
//
//根据Apache许可证2.0版(以下简称“许可证”)获得许可;
//除非遵守许可证,否则不得使用此文件。
//您可以通过以下方式获得许可证副本:
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
//除非适用法律要求或书面同意,软件
//根据许可证进行的分发是按“原样”进行分发的,
//无任何明示或暗示的保证或条件。
//请参阅许可证以了解管理权限和权限的特定语言
//许可证下的限制。
var galleryController=功能(标题){
var aws=require('ibm-cos-sdk');
var multer=需要('multer');
var multerS3=需要('multer-s3');
var ep=新aws.端点(“”);
var s3=新的aws.s3({endpoint:'});
var myBucket='';
var upload=multer({
储存:multerS3({
s3:s3,
桶:我的桶,
键:功能(请求、文件、cb){
cb(null,file.originalname);
console.log(文件);
}
})
});
var getGalleryFile=函数(请求、恢复){
var imageUrlList=[];
var文件内容=“”;
var params={Bucket:myBucket};
var nb_词;
var json_result='';
s3.列表对象(参数、函数(错误、数据){
if(data!=null&&data.Contents!=null){
对于(var i=0;i
我希望json_结果值作为第I个值(imageUrlList[I]=json_结果),但输出值为“未知”。 但在s3.getObject函数的作用域中使用json_结果时,我可以看到它的实际值