微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Vue 在两个 for 循环中调用 Api

如何解决Vue 在两个 for 循环中调用 Api

我有 2 个数组,一个有 2 个项目,一个有 5 个项目。问题是我试图将第一个数组中每个项目的描述与第二个数组中每个项目的描述进行比较。我正在通过自由文本相似性 api 之一进行比较。对于结果,我喜欢有两个数组我创建的变量有 5 个项目(allSimilarity)。但是当我运行这段代码时,它会执行 2 个包含 10 个项目的数组。我想知道如何解决这个问题?

所以我为此编写了以下代码

let allSimilarity=[]
const newIdeas=[{title:"Idea 1",description:"some text 1"},{title:"Idea 2",description:"some text 2"}]
const oldIdeas=[{title:"Idea 1",description:"some text 4"},description:"some text 3"},{title:"Idea 3",{title:"Idea 4",description:"some text 2"},{title:"Idea 5",description:"some text 5"}]
newIdeas.forEach(item=>{
allSimilarity=[]
oldIdeas.forEach(async(oldIdea)=>{
    let text1=item.description.split(" ").join("%20") + "%20";
 let text2=oldIdea.description.split(" ").join("%20") + "%20";
//Here I am calling the api
  this.compareIdeas({text1,text2}).then((resp)=>{
    let similarity=resp
    allSimilarity.push({similarity,oldIdea:oldIdea.title,newIdea:item.title})
  })
})
console.log("This is all similarity",allSimilarity);
//Then I want to do some other method
})

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。