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

标签 javascript reactjs react-native promise

我正在使用 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/

相关文章:

javascript - 在 react 中注册时向用户发送电子邮件

javascript - 谷歌浏览器自动填充黄色背景

javascript - PhoneGap 给出 NSURLErrorDomain 错误 -999

javascript - React/Apollo 共享查询状态

react-native - React Native - 提供全局主题的最佳方式是什么?

javascript - CSS 动画 - 带有图像的垂直选框 - 每次特定图像可见时淡入新的背景颜色

javascript - 我可以使用我自己的登录表单进行 aws cognito 吗?

javascript - 获取li项的state最大值

react-native - 未找到 API key

reactjs - undefined 不是 React Native 中的函数