如何解决NodeJS:为什么`node-fetch` 响应缓冲区会更改常量值?
要将文件上传到 S3 存储桶,我使用以下函数进行了管理,我将直接从另一个 URL 上传文件,为此我使用了 node-fetch
包。
public async uploadFile(imageCount) {
try {
const count = imageCount
console.log("count A- ",count) // let's say,100
return new Promise(async (resolve) => {
const response = await fetch(url),buffer = await response.buffer();
console.log("count B- ",count) // now value becomes any random value i.e,80 or 20 or 120 etc
const resolution = [
{ key: 'thumbnail',value: { height: 256,width: 256 }},{ key: 'small',value: { height: 72,width: 72 }},]
resolution.forEach(size => {
Sharp(buffer)
.resize(size.value).toBuffer()
.then(async data => {
var object = {
Body: data,Bucket: ENV.BUCKET_NAME,Key: `${size.key}/${imglabel}/${keys}.${fileExt}`,ServerSideEncryption: "AES256",};
bulkOfBody.push(object)
responses = await Promise.all(
bulkOfBody.map(param => s3.upload(param).promise())
)
if (responses.length === 2) {
resolve(responses);
}
})
})
})
} catch (error) {
throw error;
}
}
现在,奇怪的是,在 count A
日志位置,计数变得完美,但是当我执行 response.buffer()
时,计数将更改为任何随机值。
我可以知道原因吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。