大佬教程收集整理的这篇文章主要介绍了通过 map() 函数向对象添加新的键/值 - 异步承诺返回一个挂起的承诺而不是值,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我在我的代码中得到了一个挂起的 Promise,而不是获取值:
let projects = [{ projectnr: null,contract: '4055' },{ projectnr: '040200 FAS-U2',contract: '4056' },{ projectnr: null,contract: '4057' }];
projects = (projects.map( async function(pro) {
pro.articles = await Articleservice().getArticlesByRange(pro.contract);
return pro;
}))
const getArticlesByRange= async (contract) => {
const db = await CompanyDbConnection.Get();
const command = Articlequeryservice().getArticlesFromLagerInRange(contract);
const result = await db.query(command);
let articleResult = result.result;
if (articleResult.length > 0) {
articleResult = articleresult[0];
}
return articleResult;
}
Articlequeryservice().getArticlesFromLagerInRange 返回一个字符串查询。目的是将获取的数据(数字数组)分配给其项目。 map() 是最好的方法吗?
使用 Promise.all
将 Promise 数组转换为结果 Promise
const response = Promise.all(projects.map(async function (project) {
const { contract } = project;
const articles = await Articleservice().getArticlesByRange(contract);
return { ...project,articles };
}))
我不鼓励你改变 projects
。最好有您所在州的不同快照。
以上是大佬教程为你收集整理的通过 map() 函数向对象添加新的键/值 - 异步承诺返回一个挂起的承诺而不是值全部内容,希望文章能够帮你解决通过 map() 函数向对象添加新的键/值 - 异步承诺返回一个挂起的承诺而不是值所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。