
 Λόγω της απόσυρσης του [αιτήματος](https://github.com/request/request#deprecated) , αυτήν τη στιγμή ξαναγράφουμε την υπηρεσία αιτήματος στην εφαρμογή κόμβου μας με υπερδραστήριο. Μέχρι στιγμής όλα φαίνονται καλά, ωστόσο δεν είμαστε σίγουροι πώς να ζητήσετε δυαδικά δεδομένα / ροή οκτάδας και να επεξεργαστείτε το πραγματικό σώμα απόκρισης ως `Buffer` . Σύμφωνα με τα [έγγραφα](https://visionmedia.github.io/superagent/#parsing-response-bodies) (από την πλευρά του πελάτη) κάποιος πρέπει να χρησιμοποιήσει 


```
superAgentRequest.responseType('blob');

```
 που φαίνεται να λειτουργεί καλά στο NodeJS, αλλά βρήκα επίσης αυτό το [ζήτημα](https://github.com/visionmedia/superagent/issues/871#issuecomment-286199206) github όπου χρησιμοποιούν 


```
superAgentRequest.buffer(true);

```
 που λειτουργεί επίσης. Αναρωτιέμαι λοιπόν ποια είναι η προτιμώμενη μέθοδος για να ζητήσω δυαδικά δεδομένα στο NodeJS; 

 
Τύπος απόκρισης κόμβου-υπερδραστηρίου («blob») έναντι buffer (true)
===================================================================



 Σύμφωνα με την τεκμηρίωση <https://visionmedia.github.io/superagent/> 


>  Το SuperAgent θα αναλύσει τα γνωστά δεδομένα του σώματος απόκρισης για εσάς, υποστηρίζοντας αυτήν τη στιγμή την **εφαρμογή / x-www-form-urlencoded** , **application / json** και **multipart / form-data** . Μπορείτε επίσης να ρυθμίσετε την αυτόματη ανάλυση για άλλα δεδομένα σώματος απόκρισης: 
> 
>  Μπορείτε να ορίσετε ένα προσαρμοσμένο πρόγραμμα ανάλυσης (που έχει προτεραιότητα έναντι των ενσωματωμένων προγραμμάτων ανάλυσης) με τη μέθοδο .buffer (true) .parse (fn). Εάν η προσωρινή αποθήκευση απόκρισης δεν είναι ενεργοποιημένη (.buffer (false)), τότε το συμβάν απόκρισης θα εκπέμπεται χωρίς να περιμένετε να ολοκληρωθεί ο αναλυτής σώματος, οπότε η απόκριση. Δεν θα είναι διαθέσιμη. 
> 
> 

 Έτσι, για να αναλύσετε άλλους τύπους απόκρισης, θα πρέπει να ορίσετε `.buffer(true).parse(fn)` . Αλλά αν δεν θέλετε να αναλύσετε την απόκριση, τότε δεν χρειάζεται να ρυθμίσετε `buffer(true)` . 

 

 Σύμφωνα με τον [πηγαίο κώδικα](https://github.com/visionmedia/superagent/blob/40424e62fbf534823b18b64a8f5f0a6680606cbe/src/node/index.js#L1046) του superagent [,](https://github.com/visionmedia/superagent/blob/40424e62fbf534823b18b64a8f5f0a6680606cbe/src/node/index.js#L1046) ορίζοντας το `responseType` ορίζει το `buffer` επισήμανση ως αληθινή, δηλαδή η ίδια με τη ρύθμιση χειροκίνητα `true` . 

 Σε περίπτωση αντιμετώπισης δυαδικών δεδομένων / ροών οκτάτ, χρησιμοποιείται ένα πρόγραμμα [ανάλυσης δυαδικών δεδομένων](https://github.com/visionmedia/superagent/blob/2fd631ae225f4335fef37e9888925db0ef42d497/src/node/parsers/index.js#L7) , το οποίο στην πραγματικότητα είναι [απλό buffer](https://github.com/visionmedia/superagent/blob/2fd631ae225f4335fef37e9888925db0ef42d497/src/node/parsers/image.js) : 


```
module.exports = (res, fn) => {
  const data = []; // Binary data needs binary storage

  res.on('data', chunk => {
    data.push(chunk);
  });
  res.on('end', () => {
    fn(null, Buffer.concat(data));
  });
};

```
 Και στις δύο περιπτώσεις χρησιμοποιείται αυτό το πρόγραμμα ανάλυσης, το οποίο εξηγεί τη συμπεριφορά. Επομένως, δεν έχει σημασία τι χρησιμοποιείτε για να αντιμετωπίσετε δυαδικά δεδομένα / οκτάδες-ροές. 

 