gpt4 book ai didi

javascript - promise 未决,已履行不返回

转载 作者:行者123 更新时间:2023-12-04 08:30:07 26 4
gpt4 key购买 nike

试图显示来自 json 的数据。
当我在控制台上运行我的函数时,它显示:
Promise {} 和 [[PromiseState]]:“已完成”
但实际上并没有返回任何东西。

getJobs = async () => {
try{
response = await fetch("./data.json");
const data = await response.json();
return data;
} catch(error){
console.log('Error getting data', error)
}
}


renderJobs = async () => {
const jobs = await getJobs();
const view = `
<div class='card-company'>
${jobs.map(companyName => `
<p>${companyName.company}</p>
`).join('')}
</div>
`
return view
}
我在属性 [[PromiseResult]] 中有我需要的所有 p 标签但文档中没有显示任何内容。
我还没有找到类似的东西,如果这个片段有什么需要改进的,我很感激反馈。
谢谢你。

最佳答案

因为这些是 async功能,需要使用await得到它们的最终返回值。
要记录 HTML 字符串,您可以使用 console.log(await renderJobs()); ,以及在哪里运行 renderJobs()在您的代码中,您需要使用 await也可以获取 HTML 字符串。
使用 console.log(renderJobs());将返回您描述的 promise 待处理消息,因为 async函数返回一个 promise ,而不是 promise 的结果。使用 await返回使用它的 Promise 的已实现值。

关于javascript - promise 未决,已履行不返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65067234/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com