在节点中使用koa-request获取Koa中的请求响应

时间:2016-09-23 08:38:50

标签: generator yield koa koa-router

我开始使用Koa生态系统。我知道它基于生成器函数(对我来说这是一个非常新的主题),我遇到了一个非常简单的任务问题:调用外部Web服务,获取响应并将其发送到客户端应用程序(在我的情况下Angular。)

代码:

var koa = require('koa');
var app = koa();
var koarouter = require('koa-router');
var router = koarouter();

router.post('/devices', function *(next) {
    var reqdata = {};  
    reqdata.info="request to send" 
    var options = {
        url: url_getDevices,
        headers: reqdata
    };

    var response = yield request(options);
    var info = JSON.parse(response.body);

    console.log(info);

});

我想我必须使用 yield next 进行管理,但我正在进行不同的测试并遇到问题,并且我将了解Koa的最佳实践这种情况。

谢谢!

1 个答案:

答案 0 :(得分:0)

您是否只是尝试从POST请求处理程序发送info作为响应?您只需将其作为回复的body发送即可。在Koa中,this.bodythis.response.body的别名:

this.body = info;

我还建议在their website上查看Koa的文档。