Реагирует, обработка ошибок AWS GraphQL — ответ JSON

#json #reactjs #error-handling #graphql

#json #reactjs #обработка ошибок #graphql

Вопрос:

Я вижу этот ответ в журналах webconsole при получении вызова API мутации GraphQL. Это нормально, потому что я ожидаю ошибки и пытаюсь ее обработать.

Означает ли это, что «0» здесь является ключевым? и если это так, response.0.errorType это недопустимый синтаксис.

     "0": {
        "errorType": "DynamoDB:ConditionalCheckFailedException",
        "errorInfo": null,
        "locations": [
            {
                "line": 2,
                "column": 3,
                "sourceName": null
            }
        ],
        "message": "The conditional request failed (Service: DynamoDb, Status Code: 400, Request ID: BUEAM6ACKQBPHKDHGNASM49C4BVV4KQNSO5AEMVJF66Q9ASUAAJG, Extended Request ID: null)"
    }
}
 

Существует ли правильный синтаксис для извлечения «ошибки.Введите » значение? Заранее спасибо за любую помощь.

Комментарии:

1. Если свойство объекта начинается с цифры, оно должно быть call object[«0»] или object[0], см. javascript.info/object

Ответ №1:

Поскольку ключ заключен в кавычки, это строка ( "0" ) вместо числа ( 0 ). Ваш исходный синтаксис будет работать только в том случае, если ключ массива является числом.

 console.log("0" === 0) // "false"
 

Чтобы получить доступ к этому ключу, укажите правильную строку в качестве ключа вашего массива:

 error['0'].errorType