首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Node.js:Unable调用管道函数

Node.js:Unable调用管道函数
EN

Stack Overflow用户
提问于 2014-12-02 08:51:32
回答 2查看 2.4K关注 0票数 0

我正在尝试一个简单的程序来调用后端&获取响应,下面是我的node.js代码:

代码语言:javascript
复制
'use strict';

var util = require('util');
var http = require('http');
var request = require('request');
var stream = require('stream');


module.exports = {
 summary:summary
}

function summary(request, response) {
 var id = request.swagger.params.id.value;
 var url = "http://localhost:8080/test-org/myApp/summaries?q='id'";
 console.log('Executing request: '+url);
 request.get(url).pipe(response);
 };

但是,我得到了以下错误:

代码语言:javascript
复制
curl http://localhost:10010/v1/customers/1123/summary
Executing request: http://localhost:8080/test-org/myApp/summaries?q='
id'
TypeError: Cannot call method 'pipe' of undefined
    at summary (C:\Apigee127\API-116\api\controllers\summary.js:17:19)
    at swaggerRouter (C:\Apigee127\API-116\node_modules\a127-magic\node_modules\
swagger-tools\middleware\2.0\swagger-router.js:114:18)
    at C:\Apigee127\API-116\node_modules\a127-magic\lib\middleware.js:82:9
    ....

有什么npm包我错过了,我需要下载?

-S

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-12-02 09:09:33

你在破坏范围。函数接受request,但也加载了var request = require('request')

将其更改为:

代码语言:javascript
复制
   var request = require('request');

   function summary(req, res) {
      request.get(url).pipe(res);
   }
票数 3
EN

Stack Overflow用户

发布于 2014-12-02 09:00:22

TypeError: Cannot call method 'pipe' of undefined意味着request.get(url)返回undefined。是的,您不能在undefined对象上调用任何函数。

那么,为什么request.get会导致未定义的结果?

您能修改代码以包括一些调试吗?

代码语言:javascript
复制
  request.get(url)
  .on('error', function(err) {
    console.log(err)
  })
  .pipe(response);

有什么npm包我错过了,我需要下载?

https://www.npmjs.org/package/request列出了16个依赖项,但它们应该是自动下载的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27245290

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档