简体   繁体   中英

Express and Nodejs : Best way to call an external API

I am new to Express and Nodejs. I am trying to call an external api for building data on a page. Is there a way to call the external api from express itself (I know i can use http moduel to do this) but want to confirm is that the best way. Also once i get the json back how do i pass it to the view.

Right now i have done a workaround by just loading the view(just headers) with express and making an jquery ajax call to api and populate the data.

First of all, you need to call your external API inside controller where you want to populate it. The best will be to use http module, it is pretty easy to use http://nodejs.org/docs/v0.4.10/api/http.html#http.get . After you get data, you just pass it to view like this:

http.get(options, function(data) {
    res.render('template', data);
});

I would write an object to hide the details of this data fetching (http requests) and make the http calls using superagent (just because it's a nice lib).

This way you can:

  • Replace the http requests later if you decide to use something else.
  • Hide details like using the node-async as monkeyinsight suggested.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM