Smashing Node.js: JavaScript Everywhere by Guillermo Rauch
Author:Guillermo Rauch
Language: eng
Format: epub
Publisher: Wiley
Published: 2012-08-07T16:00:00+00:00
module.exports = function search (query, fn) {
request.get(‘http://search.twitter.com/search.json’)
.data({ q: query })
.end(function (res) {
if (res.body && Array.isArray(res.body.results)) {
return fn(null, res.body.results);
}
fn(new Error(‘Bad twitter response’);
});
};
Similar to the other superagent examples, you want to make a GET request, sending the querystring data field q with the search term. The URL superagent hit for the search
term hello world will be something like http://search.twitter.com/search.json?q=hello+world.
In the response handler, you’re actively making sure that the request works and satisfies our expectations completely. Instead of looking at HTTP status codes and verifying you got 200 instead of something else, it’s smarter to ask the question: did I get an array of tweets as part of the response?
If you remember from Chapter 7, if superagent gets a JSON response, it will automatically decode it and place its contents as part of the res.body variable. Since the Twitter API responds with a JSON object with a key results containing an array of tweets, the following snippet from the code above is all you need for error handling:
if (res.body && Array.isArray(res.body.results)) {
return fn(null, res.body.results);
}
Run
Run the server and point your browser to http://localhost:3000 (see Figure 9-2) and try out a search term (see Figure 9-3).
Download
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.
Content Management | Programming |
User Experience & Usability | User Generated Content |
Web Design | Web Marketing |
Web Services | Website Analytics |
Hello! Python by Anthony Briggs(9911)
The Mikado Method by Ola Ellnestam Daniel Brolund(9775)
Dependency Injection in .NET by Mark Seemann(9335)
Sass and Compass in Action by Wynn Netherland Nathan Weizenbaum Chris Eppstein Brandon Mathis(7775)
The Well-Grounded Java Developer by Benjamin J. Evans Martijn Verburg(7557)
Svelte with Test-Driven Development by Daniel Irvine(7097)
Test-Driven Development with PHP 8 by Rainier Sarabia(6827)
Layered Design for Ruby on Rails Applications by Dementyev Vladimir;(6692)
Secrets of the JavaScript Ninja by John Resig & Bear Bibeault(6532)
Secrets of the JavaScript Ninja by John Resig Bear Bibeault(6409)
Web Development with Django by Ben Shaw Saurabh Badhwar(6160)
React Application Architecture for Production by Alan Alickovic(5878)
Jquery UI in Action : Master the concepts Of Jquery UI: A Step By Step Approach by ANMOL GOYAL(5806)
Kotlin in Action by Dmitry Jemerov(5061)
Audition by Ryu Murakami(4583)
Software Architecture for Web Developers by Mihaela Roxana Ghidersa(4418)
Hands-On Full-Stack Web Development with GraphQL and React by Sebastian Grebe(4315)
Accelerating Server-Side Development with Fastify by Manuel Spigolon Maksim Sinik & Matteo Collina(4269)
Functional Programming in JavaScript by Mantyla Dan(4037)
