我有一个nodejs应用程序,它通过端点提供HTTP流,比方说/ api / logs / {id}。现在,我有一个使用Vue.js的前端Web应用程序,我想使用该流终结点。我该怎么做最简单?
该流是“无尽”的http流。
奖金:如何将多个流合并到一个视图中?
nodejs应用程序中的代码,以显示流。流本身来自dockerode。
exports.read_containerlogs = function (req, res) {
var container = docker.getContainer(req.params.containerid);
container.attach({stream: true, stdout: true, stderr: true}, function (err, stream) {
res.writeHead(200, { 'Content-Type': 'text/html' })
stream.pipe(res);
});
};
我遵循此文档来处理前端的流:https://developer.mozilla.org/en-US/docs/Web/API/Streams_API/Using_readable_streams
fetch('/apiURL')
.then(response=> {
const reader = reader.body.getReader()
let data = []
return reader.read().then(read = (result)=>{
if(result.done){
return data
}
data.push(result.value)
return reader.read().then(read)
})
})
.then(data => {
// Do whatever you want with your data
})