gpt4 book ai didi

javascript - 如何将值从 listObjects 推送到数组

转载 作者:行者123 更新时间:2023-11-30 00:21:03 27 4
gpt4 key购买 nike

我有一个名为 yourArray 的数组。 var yourArray = []; 当我从 s3 获取带有 listObjects 的对象名称时,我想将此对象名称推送到数组中。

var params ={
Bucket: 'exBucket',
Prefix: 'somePrefix'
};

s3.listObjects(params, function(Err, Data){
if(!Err){
for (var i = 0; i < Data.Contents.length; i++){
console.log('Listed: ', Data.Contents[i].Key);
yourArray.push(Data.Contents[i].Key);
}
};
});

在这里,console.log('Listed: ', Data.Contents[i].Key); 给了我所有的名字。但是 yourArray.push(Data.Contents[i].Key); 不会推送名称并且数组仍然是空的。哪里错了?

最佳答案

正如 Jaromanda X 所说,listObjects 是异步的,您的函数试图在对象完成之前将值放入数组中。

为了处理这样的 S3 对象,我建议使用 Bluebird promise

https://www.npmjs.com/package/aws-promised

关于javascript - 如何将值从 listObjects 推送到数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33148156/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com