Javascript 等待map函数完成,但追加到变量
目前我的代码是这样的:Javascript 等待map函数完成,但追加到变量,javascript,promise,Javascript,Promise,目前我的代码是这样的: const exportPdf = async () => { let crops = <?=json_encode($crops)?>; let pestTables; let fillPestTables = crops.map(crop, index) => { let tableBody = await getTableBody(crop, index); $(pestT
const exportPdf = async () => {
let crops = <?=json_encode($crops)?>;
let pestTables;
let fillPestTables = crops.map(crop, index) => {
let tableBody = await getTableBody(crop, index);
$(pestTables).append(tableBody);
});
console.log(pestTables);
}
我对使用承诺非常陌生,所以如果我把事情搞砸了,我道歉。有谁能给我指引正确的方向或解释一下这里需要发生什么
感谢使用
Promise.all()
从承诺列表生成可等待的承诺:
这将同时执行所有承诺,并在所有承诺完成后恢复,返回响应列表。您需要使用异步函数才能完成映射
let fillPestTables = crops.map(async function (crop, index) => {
let tableBody = await getTableBody(crop, index);
$(pestTables).append(tableBody);
});
以下是解决方案:
const exportPdf = async () => {
let crops = <?=json_encode($crops)?>;
let pestTables;
let fillPestTables = crops.map(crop, index) => {
await getTableBody(crop, index).then(res => $(pestTables).append(res););
});
console.log(pestTables);
}
const exportPdf=async()=>{
让作物=;
让我们一起吃饭;
让fillPestTables=crops.map(crops,index)=>{
等待getTableBody(裁剪,索引)。然后(res=>$(pestTables)。追加(res);
});
console.log(pestTables);
}
您的代码有很多问题,您不应该将JSON放在javascript中,需要额外转义
。地图中缺少括号,且箭头函数未标记为async
。出现了什么错误?谢谢!完全按照需要做
let fillPestTables = crops.map(async function (crop, index) => {
let tableBody = await getTableBody(crop, index);
$(pestTables).append(tableBody);
});
const exportPdf = async () => {
let crops = <?=json_encode($crops)?>;
let pestTables;
let fillPestTables = crops.map(crop, index) => {
await getTableBody(crop, index).then(res => $(pestTables).append(res););
});
console.log(pestTables);
}