Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Node.js+;λ+;导致范围错误的请求模块_Javascript_Node.js_Amazon Web Services_Lambda_Request - Fatal编程技术网

Javascript Node.js+;λ+;导致范围错误的请求模块

Javascript Node.js+;λ+;导致范围错误的请求模块,javascript,node.js,amazon-web-services,lambda,request,Javascript,Node.js,Amazon Web Services,Lambda,Request,我有一个问题,我找不到解决方案让我的代码再次运行 我正在使用Node.js和Lambda为Amazon Echo编写一个技巧 首先,必要的代码: var handlers = { "getLast": function () { var speechOutput = ""; var time = ""; var message = ""; var tower = ""; var request = require

我有一个问题,我找不到解决方案让我的代码再次运行

我正在使用Node.js和Lambda为Amazon Echo编写一个技巧

首先,必要的代码:

var handlers = {

    "getLast": function () {

       var speechOutput = "";
       var time = "";
       var message = "";
       var tower = "";

       var request = require('request');

       var url = "mylink";

       request({
           url: url,
           json: true
       }, function (error, response, body) {

          if (!error && response.statusCode === 200) {
             var obj = JSON.parse(body); // Print the json response
             tower = obj.tower;
             message = obj.message;
             time = obj.time;
          }
        })

        var date_split = time.split(" ");
        var time_split = date_split[1].split(":");

        var message_split = message.split(":");

        if(message_split[1] == "-" || message_split[1] == " -"){
           speechOutput = "text";   
        }else{
           speechOutput = "text";
        }

        this.emit(':tellWithCard', speechOutput, skillName, speechOutput);
     }

other stuff
Lambda中的测试导致以下错误:

{
  "errorMessage": "Maximum call stack size exceeded",
  "errorType": "RangeError",
  "stackTrace": [
    "initParams (/var/task/node_modules/request/index.js:36:5)",
    "new request (/var/task/node_modules/request/index.js:48:16)",
    "new request (/var/task/node_modules/request/index.js:54:10)",
    "new request (/var/task/node_modules/request/index.js:54:10)",
    "new request (/var/task/node_modules/request/index.js:54:10)",
    "new request (/var/task/node_modules/request/index.js:54:10)",
    "new request (/var/task/node_modules/request/index.js:54:10)",
    "new request (/var/task/node_modules/request/index.js:54:10)",
    "new request (/var/task/node_modules/request/index.js:54:10)",
    "new request (/var/task/node_modules/request/index.js:54:10)"
  ]
}
请求模块的index.js中发生错误:

'use strict'

var extend                = require('extend')
  , cookies               = require('./lib/cookies')
  , helpers               = require('./lib/helpers')

var paramsHaveRequestBody = helpers.paramsHaveRequestBody


// organize params for patch, post, put, head, del
function initParams(uri, options, callback) {
  if (typeof options === 'function') {
    callback = options
  }

  var params = {}
  if (typeof options === 'object') {
    extend(params, options, {uri: uri})
  } else if (typeof uri === 'string') {
    extend(params, {uri: uri})
  } else {
    extend(params, uri)
  }

  params.callback = callback || params.callback
  return params
}

function request (uri, options, callback) {
   if (typeof uri === 'undefined') {
     throw new Error('undefined is not a valid uri or options object.')
   }

   var params = initParams(uri, options, callback)

   if (params.method === 'HEAD' && paramsHaveRequestBody(params)) {
     throw new Error('HTTP HEAD requests MUST NOT include a request body.')
   }

   return new request.Request(params)
}
有人知道这里发生了什么吗


谢谢你的帮助

你能把Lambda的全部代码贴在这里吗?这将有助于理解第54行发生的事情嘿,我已经更新了我的问题并添加了一些代码。错误发生在请求模块的index.js中。所以在我看来,这与我的代码无关。但我不明白我能做什么。感谢您的帮助。嘿@mark96,代码中有一个bug导致您正在使用的模块中抛出异常是很常见的。这并不一定意味着模块有问题。如果模块有一个默认的堆栈大小,您的脚本超过了它,我希望看到类似这样的情况。你的Lambda还有代码吗。我觉得这里的代码比我们现在看到的要多。你能把整个Lambda代码发布在这里吗?这将有助于理解第54行发生的事情嘿,我已经更新了我的问题并添加了一些代码。错误发生在请求模块的index.js中。所以在我看来,这与我的代码无关。但我不明白我能做什么。感谢您的帮助。嘿@mark96,代码中有一个bug导致您正在使用的模块中抛出异常是很常见的。这并不一定意味着模块有问题。如果模块有一个默认的堆栈大小,您的脚本超过了它,我希望看到类似这样的情况。你的Lambda还有代码吗。我觉得代码比我们看到的要多。