Mam urządzenie mogące przesyłać dane przez WebUSB. W zasadzie opanowałem z nim komunikację. Znalazłem i zastosowałem taki kod odpowiedzialny za obieranie danych:

serial.Port.prototype.connect = function(dwDTERate, bCharFormat, bParityType, bDataBits) {
    let readLoop = () => {
      this.device_.transferIn(this.endpointIn_, 64).then(result => {
        this.onReceive(result.data);
        readLoop();
      }, error => {
        this.onReceiveError(error);
      });
    }; 

Zdarzenia onReceive są prawidłowo generowane po odebraniu paczki danych. Jeśli jednak strumień danych jest większy a aplikacja w przeglądarce coś wykonuje zdarza się, że jakaś paczka z danymi zginie. Czy dobrze kombinuję, że przeglądarka nie buforuje danych i muszę funkcję transferIn wywoływać tak często aby zdążyć pobrać wszystkie nadchodzące pakiety ?
Sugerowanym rozwiązaniem przyspieszającym tą operację jest ponoć równoległe wywoływanie dwóch takich funkcji. Jeśli jest to prawda to jak to w praktyce zrobić ?