Javascript 如何立即侦听服务器(express)从客户端(vue)发送的事件
我正在尝试侦听来自vue js客户端的Express server发送的事件。它一发出我就想听。但直到整个过程结束,它才开始 我的Express控制器代码是:Javascript 如何立即侦听服务器(express)从客户端(vue)发送的事件,javascript,node.js,vue.js,Javascript,Node.js,Vue.js,我正在尝试侦听来自vue js客户端的Express server发送的事件。它一发出我就想听。但直到整个过程结束,它才开始 我的Express控制器代码是: exports.getFruits = (req, res, next) => { const fruits = ["mango", "jackfruit", "banana", ...........]; for(let i = 0; i < fruits.length; i++){ res.emit
exports.getFruits = (req, res, next) => {
const fruits = ["mango", "jackfruit", "banana", ...........];
for(let i = 0; i < fruits.length; i++){
res.emit('fruit', fruits[i]);
}
};
我怎样才能收听这里发送的服务器?非常感谢您的帮助。这是node.js的预期行为任何同步循环都将始终阻止线程,并且在循环完成后,它将处理其他事件 有关更多信息,请参考以下要点: 共有5个阶段
┌───────────────────────────┐
┌─>│ 计时器│
│ └─────────────┬─────────────┘
│ ┌─────────────┴─────────────┐
│ │ 挂起的回调│
│ └─────────────┬─────────────┘
│ ┌─────────────┴─────────────┐
│ │ 空闲,准备│
│ └─────────────┬─────────────┘ ┌───────────────┐
│ ┌─────────────┴─────────────┐ │ 进来的:│
│ │ 投票│您可以使用我推荐的任何web套接字库@Sam,我已经尝试过使用websocket。似乎仍在等待整个过程的完成。也许你能给我举个例子。
axios.get("localhost:3000/get-fruits")
.then(res => {
console.log(res.data);
})
.catch(err => {
console.log(err);
});
┌───────────────────────────┐
┌─>│ timers │
│ └─────────────┬─────────────┘
│ ┌─────────────┴─────────────┐
│ │ pending callbacks │
│ └─────────────┬─────────────┘
│ ┌─────────────┴─────────────┐
│ │ idle, prepare │
│ └─────────────┬─────────────┘ ┌───────────────┐
│ ┌─────────────┴─────────────┐ │ incoming: │
│ │ poll │<─────┤ connections, │
│ └─────────────┬─────────────┘ │ data, etc. │
│ ┌─────────────┴─────────────┐ └───────────────┘
│ │ check │
│ └─────────────┬─────────────┘
│ ┌─────────────┴─────────────┐
└──┤ close callbacks │
└───────────────────────────┘