我正在为Express应用程序实现HTTP Long Polling,但是我遇到了错误。以下是应用程序的行为方式:
该应用程序是一个类似Evernote的用户可以将新笔记发布到应用程序[Note(txt,author,date)]。用户可以订阅(GET / subscribe /:author)给作者,所以当作者发布新笔记时,他应该收到GET / subscribe /:author的回复。
我达到了这个目的但是有任何注意事项(不是好作者)但是当我提出一个比较来看看好的作者是否发布了这个注释时我有一个问题。 这是我的代码:
subscribe.js
router.get('/:auteur', (req, res, next) => {
const auteur = req.params.auteur;
rc.lrange("notes", 0, -1, (err, reply) => {
const notes = reply.map( note => { return JSON.parse(note) })
const notesAuteur = notes.filter(note => note.auteur == auteur)
subscriber.on("message", (channel, message) => {
const noteRecu = JSON.parse(message)
// if(noteReceived.author == authorAsked)
if(noteRecu.auteur == auteur) {
// Add this new note to old one
notesAuteur.push(noteRecu)
// Responde
res.send(notesAuteur)
}
})
})
})
subscriber.subscribe("notes_publish")
这是一个有问题的场景:
如何告诉我的服务器:
if(note.author == goodAuthor) {
res.send(data)
} else {
Don't()
}
感谢您的帮助!