@אהרן אמר באיך עובד זרמים ב-nodejs:
@dovid
אז מדוע בקוד הזה כל הדאטה נשלח בב"א?
app.get('/test', (req, res) => {
res.write('OK1');
setTimeout(()=>res.write('OK2'),1500);
setTimeout(()=>res.end('OK END'),2500);
})
setTimeout(()=>{
request({url: url}, function (error, response, body) {
console.log(body);
});
} ,2.5*1000);
לא ברור לגמרי מה התכוונת בקוד הזה, אבל אם אני מבין נכון בפונקציה request אתה שולח לעצמך בקשה ומדפיס את התשובה לקונסול, אם כך זה ברור למה אתה רואה הכל מודפס בבת אחת, כי השתמשת ב callback במקום ב streaming, אז זה מחכה שכל התשובה תגיע ואחר כך קורא לפונקציה.
אם אתה רוצה לראות מימוש של streaming תכתוב כך
request(url).pipe(obj)