Может помочь что-то подобное:
Я немного изменил ваш код, просто чтобы показать вам базовый шаблон.
Если вы делаете более 1 изображения одновременно, вам нужно будет использовать Promise.all
, чтобы отслеживать более 1 обещания одновременно.
submitOffre = async (saleData) => { // SEE THE async KEYWORD
debugger ;
var result = await blobToBase64(saleData); // SEE THE await KEYWORD
console.log("========", result);
const rs = result.map(value => value.file); // Doesn't work.
console.log(rs); // rs is empty
}
Я буду считать, что вы конвертировали только 1 изображение.
blobToBase64 = (blob, callback) => new Promise((resolve,reject) => {
var reader = new FileReader();
var data = '';
reader.onload = function () {
var dataUrl = reader.result;
var base64 = dataUrl.split(',')[1];
callback(base64);
resolve(base64); // NOTE THE resolve() FUNCTION TO RETURN SOME VALUE TO THE await
};
reader.readAsDataURL(blob);
});