【发布时间】:2019-08-12 18:04:51
【问题描述】:
我正在使用 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 并返回正确的输出
Promise.all(promise_Images ).then(res => {
console.log("Image List", res)
})
但是如果我一次执行所有的承诺,它就会返回承诺
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 字符串?
【问题讨论】:
标签: javascript reactjs react-native promise