Используя запрос-обещание, мне интересно, как я могу закрыть сокет раньше, когда ресурс превышает 2000 бит. Из обработчика событий .on ('data', callback) я бы хотел закрыть сокет и перейти к коду внутри then (). Я уже пробовал this.abort (), но это не сработало. На данный момент дескриптор события работает и принимает количество битов, но я могу закрыть сокет от события, когда битовый размер вызывает условие if.
var request = require('request');
var rp = require('request-promise-native');
var size = 0;
const MAX_SIZE = 2000;
rp
.get('https://sitecozy.com/screenshot.png')
.on('data',(ok)=>
{console.log(size)
size += ok.length;
if (size > MAX_SIZE) {
console.log("Aborting this request as it exceeds max size")
// I wish to close the socket and trigger then() from here.
}
}
)
.then(function (htmlString) {
console.log("good")
})
.catch(function (err) {
console.log("bad")
});;