javascript - Spring Boot 和 JavaScript:如何访问 promise 对象字段?
问题描述
我是 JavaScript 新手。我需要您的帮助,以了解这里出了什么问题...
我使用 Spring Boot 作为后端。
我定义了一个返回 MatchStats 对象的 REST API:
public class MatchStats {
private int homeScore;
private int awayScore;
private Map<Player, Integer> homePlayersScore;
private Map<Player, Integer> awayPlayersScore;
public MatchStats() {
}
...
//getters...
}
Player 是一个映射数据库表的实体:
@Entity
@Table(name="player")
public class Player {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="id")
private Long id;
@Column(name="name")
private String name;
...
//getters...
}
我在BE 端验证了返回的 MatchStats 对象是完全有效的!
但是,在 FE JavaScript 函数上,调用此 API 后,我似乎不知道如何访问返回的 Promise 对象中的玩家名称字段。
我总是收到“未定义”的价值。
当我在控制台中记录收到的 MatchStats 对象时,我会在地图中看到以下输出:
Object
HomePlayersScore
com.ttt.bbsim.model.Player@6bed93f: 1
com.ttt.bbsim.model.Player@6c1a2709: 11
com.ttt.bbsim.model.Player@7a79be06: 15
...
console.log(Object.getOwnPropertyNames(player)); 给我:
(36) ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "length"]
这是什么意思?
我最新的javascript代码如下:
let response = await fetch(apiCall);
var matchStats = await response.json();
console.log(matchStats); // looks good in console
for (const [player, score] of Object.entries(matchStats.homePlayersScore)) {
console.log(typeof player); // **gives me a String type for some reason!!!**
console.log("player: " + player + " score: " + score);
// player is undefined. I also tried player.name and player[name] but no use..
访问玩家姓名字段的方法是什么?
谢谢!
解决方案
推荐阅读
- oracle - 我的数据库是每隔一小时自动关机怎么解决的呢?
- laravel-5 - 将日期时间投射到日期
- excel - 在查找功能中添加变量不起作用
- javascript - 错误 TS2345:“this”类型的参数不可分配给“Item”类型的参数
- java - 如何修复 Android Build 的 ionic ImageFetcher.java:293 错误?
- codeigniter - PHP文件上传医学图像
- ios - 如何基于协议快速实现路由
- ios - 我的应用程序从“有一个或多个问题”变为“已完成处理”,而我没有碰它。是什么导致了这种变化?
- angular - Angular6 Accordion Permissions,即一旦完成填写所有表单字段,然后打开到下一个手风琴
- postgresql - 带有 UUID 主键的 SymmetricDS 和 Postgres 失败(uuid 类型的输入语法无效)