2016-06-11 8 views
0

Ich verwende meteor-slingshot, um eine Datei hochzuladen. Ich möchte den Fortschrittsbalken Prozentsatz festlegen, wenn es sich ändert.Wie verfolgen Sie die Änderung des Slingshot-Upload-Fortschritts, ohne setInterval zu verwenden?

So mache ich es jetzt.

{{percentage}} 

percentage: number; 
uploadButton() { 
    // First start to upload 
    // ... 

    // Then track the progress 
    setInterval(() => { 
    this.percentage = uploader.progress(); // The API uploader.progress() returns a number 
    }, 1000); 
} 

Gibt es eine intelligente Art und Weise RxJS oder etwas anderes mit der Nummer ändern setInterval ohne verfolgen?

Dank

+1

In der Regel ist ein Upload-Fortschrittsereignis verfügbar. Ich habe noch nicht mit Meteor-Schleuder gearbeitet, aber ein bisschen Googeln erzeugt [diese Ausgabe] (https://github.com/CulturalMe/meteor-slingshot/issues/52), die Code hat, der scheint zu aktualisieren Fortschrittsbalken basierend auf den Fortschrittsereignissen. – Ouroborus

+0

@Ouroborus Danke, dass du mir eine Richtung gegeben hast! –

Antwort

0

uploader.progress() eine reaktive Quelle. Also benutze ich Tracker.

this.autorun(() => this.percentage = uploader.progress());