daily pastebin goal
1%
SHARE
TWEET

NodeJS_JugglingAsync

shakes808 Jun 7th, 2015 234 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*
  2. ==============================================
  3. NodeJS' solution
  4. ==============================================
  5. */
  6. var http = require('http')
  7. var bl = require('bl')
  8. var results = []
  9. var count = 0
  10.  
  11.  function printResults () {
  12.   for (var i = 0; i < 3; i++)
  13.     console.log(results[i])
  14. }
  15.  
  16. function httpGet (index) {
  17.   http.get(process.argv[2 + index], function (response) {
  18.     response.pipe(bl(function (err, data) {
  19.       if (err)
  20.         return console.error(err)
  21.  
  22.       results[index] = data.toString()
  23.       count++
  24.  
  25.       if (count == 3)
  26.         printResults()
  27.     }))
  28.   })
  29. }
  30.  
  31. for (var i = 0; i < 3; i++)
  32.   httpGet(i)
  33.  
  34. /*
  35. ==============================================
  36. my solution
  37. ==============================================
  38. */
  39. var http = require('http');
  40. var concat = require('concat-stream');
  41. var urls = new Array(3);
  42. var gCount = 0;
  43. var i = 0;
  44.  
  45. for(var i = 0; i < 3; i++) {
  46.   http.get(process.argv[2 + i], function(response) {
  47.     response.pipe(concat(function (data) {
  48.       urls[i] = data.toString();
  49.       gCount++;
  50.     }));
  51.   });
  52. }
  53.  
  54. for(var i = 0; i < 3; i++) {
  55.   console.log(urls[i]);
  56. }
RAW Paste Data
Top