nodejs http post

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • xces
  • Registratie: Juli 2001
  • Laatst online: 07-10 11:50

xces

To got or not to got..

Topicstarter
Stel ik wil een request doen met de NodeJS "request" library; zoiets als dit;

code:
1
2
3
4
5
6
7
8
9
function getSite(url) {
    var request = require('request');
    request('http://www.google.com', function (error, response, body) {
        if (!error && response.statusCode == 200) {
            console.log(body) // Show the HTML for the Google homepage. 
        }
    });
    return body; // zoiets dus
}


Hoe kan ik de body dan terugkrijgen uit de postData functie, zonder in oneindige callback mechanismes te komen? http-sync en httpsync compileert niet, omdat ik io.js gebruik en die gebruikt de V8 engine. Ik hoop op een antwoord wat de 'request' module gebruikt.

edit: ik heb het nu werkend met https://www.npmjs.com/package/q en een combinatie van:
- var deferred = Q.defer();
- deferred.resolve();
- deferred.reject();
- deferred.promise;

maar betere opties zijn altijd welkom :)

[ Voor 17% gewijzigd door xces op 10-02-2015 22:28 ]


Acties:
  • 0 Henk 'm!

  • Euwas
  • Registratie: Juli 2009
  • Laatst online: 13-10 23:09
Nu heb ik zelf niet meer ervaring met javascript dan dat ik weet dat het tegenwoordig veel gebruikt wordt ;)

Maar zoals ik begrepen heb van een kennis kan de enorme callback nesting worden voorkomen met promises. Hier zijn geloof ik meerdere libraries voor, zoals Q ook lijkt te zijn. In plaats van functies in functies te plaatsen kan je dan een ketting maken die wacht op antwoord van de vorige. Hierbij kan je ook makkelijk rekening houden met fouten (vaak een losse parameter err die je even controleert of die niet een fout bevat).