Рубрики
Без рубрики

Ошибки GraphQL и Parse

Ошибки графика могут быть вызваны многими различными факторами. Может быть, это серверная ошибка, вызванная … Tagged с GraphQL, JavaScript, React.

Ошибки графика могут быть вызваны многими различными факторами. Возможно, это серверная ошибка, вызванная нижним API или сбоем базы данных, или какой-либо другой программной ошибкой. Или это может быть ошибка запроса.

Ошибки запроса вызваны клиентом. Возможно, это плохой запрос, ошибка разрешения или несоответствие типа поля. Но иногда причина проще и парадоксально сложнее исправить.

В последнее время я столкнулся с аналогичной проблемой. Любой, кто пытался отправить струнные jsons или массивы в текстовые поля с намерением анализа их позже, может подтвердить, что, хотя эта идея кажется четким решением, все часто не так просто.

Основная проблема возникает в форме эффективного избегания персонажей в струнах. Простой объект может отлично работать с базовым заменить Или сбежать, но по мере того, как ваш объект становится больше и сложнее, проблемы ранее невидимы.

После большого количества проб, ошибок и исследований я нашел этот кусок кода, который решил все мои проблемы.

String.prototype.escapeSpecialChars = function () {
  return this.replace(/\\/g, "\\\\")
    .replace(/\n/g, "\\n")
    .replace(/\r/g, "\\r")
    .replace(/\t/g, "\\t")
    .replace(/\f/g, "\\f")
    .replace(/"/g, '\\"');
};

Просто используйте его на струнном объекте.

stringObj = JSON.stringify(obj)
let escapedStringObj = stringObj.escapeSpecialChars();

В то время как метод строительства и более позднего анализа не является идеальным, и далеко от моей рекомендации, иногда это действительно может быть самым простым способом. Если вы когда -нибудь чувствуете необходимость приступить к таким усилиям, не забудьте убежать ответственно! Я надеюсь, что этот код поможет вам так же сильно, как и для меня.:)

Оригинал: “https://dev.to/paruladitya/graphql-and-parse-errors-2bad”