Google अपने JSON उत्तरों की शुरुआत में while(1); क्यों जोड़ता है?
सभी को नमस्कार! मैं एक शुरुआती फ्रंटएंड डेवलपर हूँ, और हाल ही में Google API के साथ काम करते समय एक दिलचस्प विशेषता का सामना किया। जब मैं उनके कुछ endpoints, जैसे Google Calendar API या Google Suggest, पर request करता हूँ, तो response में JSON से पहले एक अजीब संरचना दिखती है: `while(1);`।
यहाँ एक उदाहरण है कि response कैसा दिखता है:
```
while(1);
{"items": [{"id": 1, "name": "test"}]}
```
पहले मैंने सोचा कि यह कोई त्रुटि या बग है। मैंने `JSON.parse()` के माध्यम से ऐसे response को parse करने की कोशिश की — स्वाभाविक रूप से, मुझे एक त्रुटि मिली, क्योंकि `while(1);` मान्य JSON नहीं है।
मुझे इस उपसर्ग को हटाने के लिए एक workaround लिखना पड़ा:
```javascript
fetch('https://some-google-api.com/data')
.then(response => response.text())
.then(text => {
const json = text.replace(/^while\(1\);/, '');
const data = JSON.parse(json);
console.log(data);
});
```
लेकिन यह बहुत अजीब और अस्पष्ट समाधान लगता है। आखिर Google यह `while(1);` क्यों जोड़ता है?