gpt4 book ai didi

javascript - Promise.all 返回 promise 数组的 promise ,但返回单个 promise 的正确值

转载 作者:行者123 更新时间:2023-11-30 09:12:35 29 4
gpt4 key购买 nike

我正在使用 Promise 从存储中读取文件并转换为 base64 字符串。我有图像数组,使用 RNFS 读取图像

const promise_Images = _Images.map(async (nOPImg) => {

//get base 64 image
let image = await RNFS.readFile(nOPImg.photourl, 'base64')
nOPImg.photo = image

return nOPImg
}

})

const promise_Images2 = _Images.map(async (nOPImg) => {

//get base 64 image
let image = await RNFS.readFile(nOPImg.photourl, 'base64')
nOPImg.photo = image

return nOPImg
}

})

现在,如果我只使用 promise all 并返回正确的输出

Promise.all(promise_Images ).then(res => {
console.log("Image List", res)

})

但如果我立即执行所有 promise ,它会返回 promise

 Promise.all(promise_Images1, promise_Images2  ).then(res => {
console.log("Image List", res)

})

结果

0: Promise {_40: 1, _65: 1, _55: "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDABALDA4MChAODQ4SER…RQAUUUUAFFFFABQKKKACiiigAooooAKKKKACiiigAooooA//Z", _72: null}
1: Promise {_40: 1, _65: 1, _55: "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDABALDA4MChAODQ4SER…FFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAf/Z", _72: null}
2: Promise {_40: 1, _65: 1, _55: undefined, _72: null}
3: Promise {_40: 1, _65: 1, _55: undefined, _72: null}

我怎样才能在这里返回 base64 字符串?

最佳答案

But if i execute all the promises at one it returning promise

Promise.all接受一个参数:它应该使用的一组 promise 。你传递给它两个参数。它忽略了第二个。

如果 promise_Images1promise_Images2 都是数组,将它们合并:

Promise.all([...promise_Images1, ...promise_Images2]).then(res => {
// ...
})

关于javascript - Promise.all 返回 promise 数组的 promise ,但返回单个 promise 的正确值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57457290/

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