[英]Problem in passing data from one async function to another
我正在尝试在 json 中加载图片并将该 json 传递给另一个异步 function。但我很困惑,无法弄清楚如何将值传递给create(json)
function。我将不胜感激任何帮助。
async function send() {
let form = new FormData(document.querySelector('form'));
let json = await construct_json(form, data => {
return data;
});
await create(json); //The problem is I cannot pass json to this function
}
function getBase64(file, callback) {
let reader = new FileReader();
reader.onload = function(e) {
callback(e.target.result);
};
reader.onloadend = function(e) {
return e.target.result;
};
return reader.readAsDataURL(file);
}
async function construct_json(form, callback) {
let data = await getBase64(form.get("picture"), data => {
let json = {
picture: data
};
callback(json);
});
}
使用回调或承诺...尝试同时使用两者是代码味道
async function send() {
let form = new FormData(document.querySelector('form'));
let json = await construct_json(form);
await create(json); //The problem is I cannot pass json to this function
}
function getBase64(file) {
return new Promise(resolve => {
let reader = new FileReader();
reader.onloadend = function (e) {
resolve(e.target.result);
};
reader.readAsDataURL(file);
});
}
async function construct_json(form) {
let picture = await getBase64(form.get("picture"));
return {picture};
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.