Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > fr.comp.lang.javascript > #3106
| 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) |
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 | Next — Next in thread | Find similar
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