问题描述
我正在尝试使用 RNFS 将嵌套的图像数组转换为 base64,它向我返回一个承诺并且响应在 Promise 中,你能帮我如何只获取字符串而不是 Promise。谢谢 这是 ss
这是我的代码
const items = order?.items?.map(i => {
return {
...i,images: i.images.map(j => {
let response = this.getBase64(j.path);
return response;
}),};
});
async getBase64(file) {
return await RNFS.readFile(file,'base64');
}
解决方法
使用 promise api 处理您的 promise 列表。
const promises = images.map(j => getBase64(j.path));
const imageResults = await Promise.all(promises); // wait for the promises to resolve.
// imageResults is now a list of whatever RNFS.readFile returns.
,
你有没有试过让地图里面的函数变得同步?
const items = order?.items?.map(i => {
return {
...i,images: i.images.map( async (j) => {
let response = await this.getBase64(j.path);
return response;
}),};
});
async getBase64(file) {
return await RNFS.readFile(file,'base64');
}