У меня есть функция Firebase, в которой я пытаюсь использовать сторонний API. Если мой ответ короткий, он возвращается сразу, и все работает. Однако, когда мой ответ слишком длинный, он возвращается в двух частях. Это приводит к сбою моего JSON анализа.
import * as https from 'https';
export function search(searchTerm: string): Promise<IResponse> {
return new Promise<IResponse>((resolve, reject) => {
const options =
{
hostname: hostname,
port: port,
path: 'search?query=' + searchTerm,
method: 'GET',
headers:
{
'x-app-id': appID,
'x-app-key': appKey
}
};
const request = https.request(options, (response) => {
response.on('data', (data) => {
const json = data.toString('utf8');
//1. This prints out
//3. This prints out again (after the JSON parsing fails)
console.log(json);
//2. This fails "SyntaxError: Unexpected end of JSON input"
resolve(convertToResponse(json));
});
});
request.end();
});
}
Что я делаю не так? Как я могу это исправить?