Я делаю HTTPS запрос, как это:Как узнать, когда будут получены все ломти
var req = https.request(options, function (res) {
console.log('statusCode: ', res.statusCode);
console.log('headers: ', res.headers);
res.on('data', function (d) {
// how to know when all chunks are received
process.stdout.write(d);
});
});
req.end();
Ответ приходит как объект JSON, но я получаю это в моем обратном вызове в массиве буфера и в нескольких кусках (мой обратный вызов вызывается несколько раз). Как узнать, когда все куски получены? И как тогда я могу преобразовать этот буфер массива в объект JSON?
'res.on ('end', blah)' ?? – AdityaParab
спасибо, предлагаете ли вы написать все данные на обратном вызове 'data' в какую-то переменную, а затем на обратный вызов' end'? Я делаю преобразование из буфера массива переменной в json? –
Это было бы самым предпочтительным способом, если у вас нет требования, когда вы должны поместить кусок данных куском в stdout. :) Кроме того, хорошей практикой является использование функции обратного вызова в качестве параметра, а затем вызов этой функции обратного вызова в '.on ('end')' с полученными данными. – AdityaParab