Javascript 错误节点类型错误:无法读取属性';需求';发送时未定义的
我在这里发疯了。我正在尝试使用需要放在帖子正文中的参数来执行帖子请求。。此对象只有一个属性步骤。我通过使用for、yield和promise来实现这一点,我得到了这个错误。。 响应未定义。。为什么?谢谢 controller.jsJavascript 错误节点类型错误:无法读取属性';需求';发送时未定义的,javascript,node.js,Javascript,Node.js,我在这里发疯了。我正在尝试使用需要放在帖子正文中的参数来执行帖子请求。。此对象只有一个属性步骤。我通过使用for、yield和promise来实现这一点,我得到了这个错误。。 响应未定义。。为什么?谢谢 controller.js function postItems(req, res, next){ eventService.getItems() .then(response => Promise.all(function*(){ const eventT
function postItems(req, res, next){
eventService.getItems()
.then(response => Promise.all(function*(){
const eventType = response.items.filter(type => type.type == 'LIVE')
for(var i = 10; i < eventType.length; i++){
const res = eventService.postItems(nameFilter[i])
yield res
}
}()))
.then(responses => {
Promise.all(responses.map(response => res.send(response))) //fails here
})
.catch(error => {
console.log('error')
next(error)
})
}
app.js
const express = require('express')
const bodyParser = require('body-parser')
const itemsController = require('../controller/itemsController')
const saveController = require('../controller/saveController')
const app = express()
.use(bodyParser.urlencoded({extended : true}))
.use(bodyParser.json())
.get('/api/v1/items', itemsController.getItems)
.get('/api/v1/save', saveController.postItems)
.use(function(error, req, res, next){
console.log('error', error)
})
module.exports = app
我在这里看到的一个问题是,您正在调用
response.send
多次。在内部,它调用response.end()
,这不允许进一步调用response.send
。在您的情况下,应该使用response.write
参考资料:对于
循环,在之后,请返回res
。响应的值是多少?我不知道为什么它是未定义的。尝试在responses=>{…}
@VikashSinghres
中添加console.log(responses)
仅在for
循环的范围内。@VikashSingh他们在生成器中生成它…?@VikashSingh至少在循环内声明的常量值。我尝试使用responses.map(res.write)和throw
无法读取未定义的“@agustinwaldbotvonbassenhei”的属性“finished”,是否可以在此处发布整个错误堆栈跟踪?也许我们可以通过出现问题的文件来识别问题
const express = require('express')
const bodyParser = require('body-parser')
const itemsController = require('../controller/itemsController')
const saveController = require('../controller/saveController')
const app = express()
.use(bodyParser.urlencoded({extended : true}))
.use(bodyParser.json())
.get('/api/v1/items', itemsController.getItems)
.get('/api/v1/save', saveController.postItems)
.use(function(error, req, res, next){
console.log('error', error)
})
module.exports = app