Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > fr.comp.lang.javascript > #3106

synchroniser des réponses asynchrones ???

From Une Bévue <unbewusst.sein@fai.invalid>
Newsgroups fr.comp.lang.javascript
Subject synchroniser des réponses asynchrones ???
Date 2017-04-16 08:39 +0200
Organization Posted through ALPHANET (http://www.alphanet.ch/)
Message-ID <ocv3is$2fl$1@shakotay.alphanet.ch> (permalink)

Show all headers | View raw


J'ai une appli qui demande à un serveur websocket des données telles que 
albums, cameras et persons.

les réponses sont asynchrones et les request sont "bêtement" à la 
"queue-leu-leu" (ES6):

     let requestAlbums  = {database: 'photos', collection: 'albums', 
mode: 'read', sort: {startdate: 1, stopdate: 1}};
     this.props.socket.sendRequest(requestAlbums, (message) => {
       this.setState({albums: message.results.albums});
     });
     let requestCameras  = {database: 'photos', collection: 'cameras', 
mode: 'read', sort: {make: 1, model: 1}};
     this.props.socket.sendRequest(requestCameras, (message) => {
       this.setState({cameras: message.results.cameras});
     });
     let requestPersons  = {database: 'photos', collection: 'persons', 
mode: 'read', sort: {lastname: 1, firstname: 1}};
     this.props.socket.sendRequest(requestPersons, (message) => {
       this.setState({persons: message.results.persons});
     });


je voudrais donc n'avoir à faire qu'une seul "this.setState({...})" commun :

this.setState({
     albums:  message.results.albums,
     cameras: message.results.cameras,
     persons: message.results.persons
});

pour cela il faudrait, en quelque sorte, mémoriser les résultats 
'albums' et 'cameras' en attendant que les résultats 'persons' arrivent.

est-ce possible en chaînant des "promises" ?

Back to fr.comp.lang.javascript | Previous | NextNext in thread | Find similar


Thread

synchroniser des réponses asynchrones ??? Une Bévue <unbewusst.sein@fai.invalid> - 2017-04-16 08:39 +0200
  Reésolu ? : synchroniser des réponses asynchrones ??? Une Bévue <unbewusst.sein@fai.invalid> - 2017-04-17 16:07 +0200

csiph-web