KoaHub平台基于Node.js开发的Koa的简单包装到请求库的类似接口

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:

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)

node --harmony simple.js

Simple example:

"use strict";

let co = require("co");
let request = require("co-request");

co(function* () {
  // You can also pass options object, see http://github.com/mikeal/request docs 
    let result = yield request("http://google.com"); 
    let response = result;
    let body = result.body;

    console.log("Response: ", response);
    console.log("Body: ", body);
}).catch(function (err) {
    console.err(err);
});

POST example:

"use strict";

co(function* () {
    let result = yield request({
        uri: "http://google.com",
        method: "POST"
    });
})();

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

function pipeRequest(readable, requestThunk){
  return function(cb){
    readable.pipe(requestThunk(cb));
  }
}

//..and then: 

  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系统

wemall地址:http://www.wemallshop.com

代码地址:http://js.koahub.com/home/feature/co-request enter image description here

收藏 0分享浏览 606
7年前
跟帖
暂无
说几句
广告位 点击查看投放指南

友情链接 大搜车前端团队博客
我的收藏