gpt4 book ai didi

javascript - 如何知道何时收到所有 block

转载 作者:行者123 更新时间:2023-11-30 16:18:34 26 4
gpt4 key购买 nike

我正在做这样的 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 对象的形式出现,但是我在我的回调中以缓冲区数组和多个 block 的形式获得它(我的回调被调用了多次)。我怎么知道何时收到所有 block ?以及如何将此数组缓冲区转换为 JSON 对象?

最佳答案

按照评论中的要求回答。

首先是将您的代码包装在另一个函数中。

function getHttpsData(callback){ // pass additional parameter as callback
var req = https.request(options, function (res) {
console.log('statusCode: ', res.statusCode);
console.log('headers: ', res.headers);
var response = '';

res.on('data', function (d) {
// how to know when all chunks are received
//process.stdout.write(d);
response+=d;
});
res.on('end', function(){
var r = JSON.parse(response);
callback(r); // Call the callback so that the data is available outside.
});

});
req.end();
req.on('error', function(){
var r = {message:'Error'}; // you can even set the errors object as r.
callback(r);
});
}

然后以回调函数作为参数调用getHttpsData函数。

getHttpsData(function(data){
console.log(data);//data will be whatever you have returned from .on('end') or .on('error')
});

关于javascript - 如何知道何时收到所有 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35113431/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com