co-request

co-request promisify wrapper for request

co-request

Simple wrapper to the request library for co-like interface (node.js generator based code). You can use it with koa or co

To install simply run:

点击(此处)折叠或打开

  1. npm install co-request

Require co first, also it will work on node v0.11.7 and newest only.

You must run node with --harmony flag (--harmony-generators as well)

点击(此处)折叠或打开

  1. node --harmony simple.js

Simple example:

点击(此处)折叠或打开

  1. "use strict";
  2.  
  3. let co = require("co");
  4. let request = require("co-request");
  5.  
  6. co(function* () {
  7.   // You can also pass options object, see http://github.com/mikeal/request docs
  8.     let result = yield request("http://google.com");
  9.     let response = result;
  10.     let body = result.body;
  11.  
  12.     console.log("Response: ", response);
  13.     console.log("Body: ", body);
  14. }).catch(function (err) {
  15.     console.err(err);
  16. });

POST example:

点击(此处)折叠或打开

  1. "use strict";
  2.  
  3. co(function* () {
  4.     let result = yield request({
  5.         uri: "http://google.com",
  6.         method: "POST"
  7.     });
  8. })();

To pipe request you should use small helper (thanks to greim):

点击(此处)折叠或打开

  1. function pipeRequest(readable, requestThunk){
  2.   return function(cb){
  3.     readable.pipe(requestThunk(cb));
  4.   }
  5. }
  6.  
  7. //..and then:
  8.  
  9.   var value = yield pipeRequest(this.req, request({...}));

All methods of request listed in Request docs

Gratitude##

Thanks for Tj's Co library

Thanks for Mikeal's Request library

 

wemall 开源微商城 ,微信商城,商城源码,三级分销,微生鲜,微水果,微外卖,微订餐---专业的o2o系统

09-26 03:38
查看更多