В настоящее время я пытаюсь научить себя JavaScript, в основном путем документации и проб и ошибок. Я изо всех сил пытаюсь выяснить, почему этот короткий фрагмент кода всегда терпит неудачу при чтении свойства ответа (здесь значение key
опущено):
$J.get("https://api.steampowered.com/ISteamUser/GetPlayerSummaries/v2/?key=[key]&steamids=" + g_rgProfileData["steamid"]).done(function(res) {
console.log(new Date(res["responseJSON"]["response"]["players"][0]["timecreated"] * 1000).toISOString().substring(0, 10));
});
Сообщение об ошибке всегда Uncaught TypeError: Cannot read property 'response' of undefined
.
Предполагается использовать веб-API Steam для получения информации об игроке, а затем отформатировать свойство timecreated
(сохраненное как Unix время) в аккуратную строку ISO 8601. Правильный вызов API возвращает это свойство responseJSON
:
{
"response": {
"players": [
{
"steamid": "76561198116637933",
"communityvisibilitystate": 3,
"profilestate": 1,
"personaname": "GrunzJr",
"commentpermission": 1,
"profileurl": "https://steamcommunity.com/id/GrunzJr/",
"avatar": "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/be/be2bd53ce0c7f024a30dbde1f46cbb441584dadb.jpg",
"avatarmedium": "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/be/be2bd53ce0c7f024a30dbde1f46cbb441584dadb_medium.jpg",
"avatarfull": "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/be/be2bd53ce0c7f024a30dbde1f46cbb441584dadb_full.jpg",
"lastlogoff": 1587338437,
"personastate": 1,
"realname": "Near",
"primaryclanid": "103582791433918461",
"timecreated": 1385903721,
"personastateflags": 0,
"loccountrycode": "DE",
"locstatecode": "01",
"loccityid": 13305
}
]
}
}
Я пытался отложить вторую строку с помощью window.setTimeout
, и это действительно решает проблему, но, похоже, это очень плохой обходной путь, и я чувствую, что упускаю что-то очевидное здесь. Любая помощь по этой проблеме высоко ценится!
Первый пост здесь, я надеюсь, что я сделал это правильно, но отзывы для улучшения приветствуются!