Uncaught NetworkingError: Cannot read property 'replace' of undefined Error

Uncaught NetworkingError: Cannot read property 'replace' of undefined Error

我在尝试 运行 以下代码时遇到以下错误。我的目标是删除 User 和 Item 表中的所有项目。 User和Item对应Dynamoose个机型。

for 循环 运行ning 正确。但是 scan().exec 回调函数根本就不是 运行,它会抛出以下错误。

真正奇怪的是在CircleCI 上并没有出现这个问题。它只发生在我的本地计算机上。我尝试删除 node_modules 和 运行ning npm install 但没有成功。如果我删除下面的代码,它也可以正常工作。

有什么想法吗?或者甚至从哪里开始调试这个?

代码:

var dbarray = [User, Item];
for (var i = 0; i < dbarray.length; i++) {
    dbarray[i].scan().exec(function(err, items) {
        if (err) {
            throw err;
        }
        items.forEach(function(item, key) {
            item.delete();
        });
    });
}

错误:

    General
      1) "before each" hook


  0 passing (10s)
  1 failing

  1) "before each" hook:
     Uncaught NetworkingError: Cannot read property 'replace' of undefined
      at findTargetPort (node_modules/zombie/lib/reroute.js:50:28)
      at Socket.Net.Socket.connect (node_modules/zombie/lib/reroute.js:69:18)
      at Agent.connect [as createConnection] (net.js:106:35)
      at Agent.createSocket (_http_agent.js:217:26)
      at Agent.addRequest (_http_agent.js:187:10)
      at new ClientRequest (_http_client.js:272:16)
      at Object.request (http.js:39:10)
      at features.constructor.handleRequest (node_modules/aws-sdk/lib/http/node.js:42:23)
      at executeSend (node_modules/aws-sdk/lib/event_listeners.js:304:29)
      at Request.SEND (node_modules/aws-sdk/lib/event_listeners.js:318:9)
      at Request.callListeners (node_modules/aws-sdk/lib/sequential_executor.js:101:18)
      at Request.emit (node_modules/aws-sdk/lib/sequential_executor.js:77:10)
      at Request.emit (node_modules/aws-sdk/lib/request.js:683:14)
      at Request.transition (node_modules/aws-sdk/lib/request.js:22:10)
      at AcceptorStateMachine.runTo (node_modules/aws-sdk/lib/state_machine.js:14:12)
      at node_modules/aws-sdk/lib/state_machine.js:26:10
      at Request.<anonymous> (node_modules/aws-sdk/lib/request.js:38:9)
      at Request.<anonymous> (node_modules/aws-sdk/lib/request.js:685:12)
      at Request.callListeners (node_modules/aws-sdk/lib/sequential_executor.js:115:18)
      at callNextListener (node_modules/aws-sdk/lib/sequential_executor.js:95:12)
      at node_modules/aws-sdk/lib/event_listeners.js:220:9
      at finish (node_modules/aws-sdk/lib/config.js:315:7)
      at node_modules/aws-sdk/lib/config.js:333:9
      at Credentials.get (node_modules/aws-sdk/lib/credentials.js:126:7)
      at getAsyncCredentials (node_modules/aws-sdk/lib/config.js:327:24)
      at Config.getCredentials (node_modules/aws-sdk/lib/config.js:347:9)
      at Request.SIGN (node_modules/aws-sdk/lib/event_listeners.js:192:22)
      at Request.callListeners (node_modules/aws-sdk/lib/sequential_executor.js:101:18)
      at Request.emit (node_modules/aws-sdk/lib/sequential_executor.js:77:10)
      at Request.emit (node_modules/aws-sdk/lib/request.js:683:14)
      at Request.transition (node_modules/aws-sdk/lib/request.js:22:10)
      at AcceptorStateMachine.runTo (node_modules/aws-sdk/lib/state_machine.js:14:12)
      at node_modules/aws-sdk/lib/state_machine.js:26:10
      at Request.<anonymous> (node_modules/aws-sdk/lib/request.js:38:9)
      at Request.<anonymous> (node_modules/aws-sdk/lib/request.js:685:12)
      at Request.callListeners (node_modules/aws-sdk/lib/sequential_executor.js:115:18)
      at Timeout.callNextListener [as _onTimeout] (node_modules/aws-sdk/lib/sequential_executor.js:95:12)

问题出在 Zombie.js。特别是Browser.localhost('localhost', port);。在每个访问命令之前删除该行并传入 http://localhost:3000 解决了问题。

不确定为什么错误会提到 AWS 和类似的东西。