Сбор потоковых данных в угловое приложение - PullRequest
0 голосов
/ 26 октября 2018

Предполагая, что у меня есть Flask потоковая передача данных бэк-бита, следуя что-то вроде:

from flask import Flask, Response, jsonify
from flask_cors import CORS
import json

from itertools import cycle
from time import sleep


app = Flask(__name__)
CORS( app)

@app.route('/')
def hello_world():
    def gen():
        for i in cycle(range(1,10)):
            yield json.dumps( {"new_val":i})
            sleep(1)
    return Response( gen())


app.run( port=5000, debug=True)

Как мне собрать эти данные во что-то вроде Observable в приложении Angular 5-6-7? Я попытался поиграть с httpClientModule и провел некоторое исследование, но я не нашел ни одного рабочего примера.

Ответы [ 2 ]

0 голосов
/ 04 ноября 2018

Я предлагаю вам для этого использовать API-интерфейс клиента socket.io. https://www.npmjs.com/package/socket.io-client

учебник для этой библиотеки с угловой 2+ http://www.syntaxsuccess.com/viewarticle/socket.io-with-rxjs-in-angular-2.0

и проверьте, как это реализовать на бэкэнде колбы

0 голосов
/ 03 ноября 2018

HttpClientModule не то, что вам нужно использовать для этого.Лучше всего использовать библиотеку RxJs Websocket.Эта библиотека сделает это намного проще, если вы знаете, как настроить свой бэкэнд для приема Websocket.Если вас беспокоит объем данных по сети, вы также можете использовать заголовки протокола, в частности, библиотеку Google «protobuf».Это можно найти здесь: https://developers.google.com/protocol-buffers/

...