2016-09-19 2 views
0

Ich bin neu in der Verwendung von Flussmittel und habe begonnen, die alt.js -Implementation zu verwenden. Ich frage mich, wann ich den Versand aus meinen Aktionen heraus nutzen würde. Nimm zum Beispiel diesen Code.Wann ich den Versand mit alt.js flux verwenden soll

//ImageActions.js 

class ImageActions { 
    getImages(id) { 
    return Api.get(`topics/${id}`).then(response => { 
     let images = response.data.filter(image => { 
     return !image.is_album; 
     }); 
     this.updateImages(images); 
    }); 
    } 
    updateImages(images) { 
    return images; 
    } 
} 
--------------------------------------------------- 

//ImageStore.js 
class ImageStore { 
    constructor() { 
    this.images = []; 
    this.image = {}; 
    this.bindListeners({ 
     handleUpdateImages: ImageActions.UPDATE_IMAGES 
    }); 
    } 
    handleUpdateImages(images) { 
    this.images = images; 
    } 
} 

Derzeit funktioniert dies die dispatch() Funktion, ohne wie in ihrem Tutorial hier http://alt.js.org/guide/async/

gesehen, die ich frage mich, wenn ich dies tun wollen würde und welcher Versand tut und was es tut anders als Übergeben Sie einfach den Wert von der Funktion updateImages in ImageaActions.js

Antwort

1

Sie verwenden dispatch, wenn Ihre asynchronen Anrufe auflösen. In diesem Fall funktioniert es, weil Sie nach Abschluss des Synchronisierungsaufrufs eine andere Aktion (updateImages) aufrufen, die den Versand auslöst, da getImages keinen Versand auslöst. Denken Sie daran, dass die Rückgabe eines asynchronen Anrufs ein Versprechen ist.

Verwandte Themen