私はarray.forEach()
機能を使用していると私はnodeJS:foreachループは関数ではありません、エラー
parsedBody.forEachは関数ではないというエラーが発生します。
parseBody
は値を生成し、私はforEach
を他の方法で使用しましたが、機能は正常に動作します。では、なぜforEach
はこの場合には機能しませんか?
編集:parseBodyはオブジェクトです。どのように配列に変換するのですか?
は(server.js):
console.log('- before request.post');
request.post({
url: `${dc_link}/audit`, //includes dc_IP, dc_port and /audit
headers:
{
"jwt": jwt.sign(token, jwtSecret)
}
}, function(error,response,body){ //*
console.log('path 0');
console.log('error:', error);
let parseBody = JSON.parse(body);
console.log('parseBody.additionalData', parseBody.additionalData);
parseBody.forEach(function(element){ //**HERE
console.log('path 3');
});
}
(にconsole.log):あなたはドットでそれにアクセスしているので、
[stdout] - before request.post
[stdout] start respondWithJSON
[stderr] /app/server.js:435
[stderr] parseBody.forEach(function(element, index, array){ //*
[stderr] ^
[stderr] TypeError: parseBody.forEach is not a function
[stderr] at Request._callback (/app/server.js:435:15)
[stderr] at Request.self.callback (/app/node_modules/request/request.js:188:22)
[stderr] at emitTwo (events.js:106:13)
[stderr] at Request.emit (events.js:191:7)
[stderr] at Request.<anonymous> (/app/node_modules/request/request.js:1171:10)
[stderr] at emitOne (events.js:96:13)
[stderr] at Request.emit (events.js:188:7)
[stderr] at IncomingMessage.<anonymous> (/app/node_modules/request/request.js:1091:12)
[stderr] at IncomingMessage.g (events.js:286:16)
[stderr] at emitNone (events.js:91:20)
[stdout] path 0
[stdout] error: null
[stdout] parseBody.additionalData iAAGtYgBAGkCBFoW4F4DARkDAQkDAQUDAQ
私はparsebodyが配列ではないと思います –
'parsedBody'が配列(' parseBody instanceof Array'など)であるかどうかを確認します。 – KooiInc
@Andreas彼は 'parseBody.additionalData'の' parseBody'をデコードしようとしています – Azuloo