Por que o Google adiciona while(1); no início das respostas JSON?
Olá a todos! Sou um desenvolvedor front-end iniciante e recentemente notei algo estranho ao trabalhar com a API do Google. Quando faço uma requisição AJAX para os servidores deles, a resposta vem como JSON, mas antes dela há uma construção estranha: `while(1);`. Por exemplo, a resposta se parece com isso:
```javascript
while(1);
{"name": "John", "age": 30}
```
No começo, pensei que fosse algum erro ou bug. Mas depois percebi que isso acontece constantemente. Meu código em JavaScript parou de funcionar porque `JSON.parse()` gera um erro devido a esse prefixo.
Aqui está como eu tentava obter os dados:
```javascript
fetch('https://example.com/api/data')
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Erro:', error));
```
Naturalmente, isso não funciona porque a resposta não é JSON puro. Pesquisei no Google e descobri que o Google usa essa técnica, mas não entendi o motivo. Por que estragar um JSON válido? É algum tipo de proteção contra algo? E como devo processar corretamente essas respostas?