未被拯救的应许

所以我对JavaScript相当陌生,我有一个充满名词的文本文档,并认为用这些名词创建API是多么好的方法。


我已读取文件并将其添加到列表中


public List<Noun> getData() throws IOException {

    Scanner sc = new Scanner(new 

    File("C:\\Users\\Admin\\Desktop\\nounlist.txt"));

    List<Noun> nouns = new ArrayList();

    while (sc.hasNextLine()) {

        nouns.add(new Noun(sc.nextLine()));

    }

    return nouns;

}

这个列表我用Gson转换为Json:


@GET

@Path("/nouns/amount=all")

@Produces(MediaType.APPLICATION_JSON)

@Consumes(MediaType.APPLICATION_JSON)

public Response getAllNouns() throws IOException {      

    return Response.ok().entity(gson.toJson(nf.getData())).build();

}

然后,我开始用js创建我的前端,并试图获取数据,但遇到了一个问题,说promise中未被捕获,类型错误,名词.forEach不是一个函数。


import "bootstrap/dist/css/bootstrap.css";


const root = document.getElementById("root");

var url = "http://localhost:8084/CORSJavaJax-rs/api/noun/nouns/amount=all";

var tbody = document.getElementById("tbody");

var btn = document.getElementById("btnsend");


// fetch(url)

//   .then(res => res.json)

//   .then(nouns => {

//     var n = nouns.map(noun => {

//       return "<tr>" + "<td>" + noun.name + "</td>" + "</tr>";

//     });

//     tbody.innerHTML = n.join("");

//   });


btn.addEventListener("click", function() {

  fetch(url)

    .then(res => res.json)

    .then(nouns => {

      console.log(nouns);

      var n = nouns.forEach(noun => {

        return "<tr>" + "<td>" + noun.name + "</td>" + "</tr>";

      });

      tbody.innerHTML = n.join("");

    });

});


我尝试了map和forEach,但没有成功,也许我错过了一些东西,或者有一些我不明白为什么我不能映射数据的东西。

元芳怎么了
浏览 136回答 1
1回答

红糖糍粑

对于您想要的,正确的用法是调用,而不是 .ForEach 不返回值,它只是循环访问集合。mapforEach您收到错误的原因很可能是由于 缺少对 的函数调用。它应该是.is not a functionres.jsonres.json()btn.addEventListener("click", function() {&nbsp; fetch(url)&nbsp; &nbsp; .then(res => res.json())&nbsp; &nbsp; .then(nouns => {&nbsp; &nbsp; &nbsp; console.log(nouns);&nbsp; &nbsp; &nbsp; var n = nouns.map(noun => {&nbsp; &nbsp; &nbsp; &nbsp; return "<tr>" + "<td>" + noun.name + "</td>" + "</tr>";&nbsp; &nbsp; &nbsp; });&nbsp; &nbsp; &nbsp; tbody.innerHTML = n.join("");&nbsp; &nbsp; });});
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java