Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > fr.comp.lang.javascript > #3106
| Path | csiph.com!1.us.feeder.erje.net!feeder.erje.net!1.eu.feeder.erje.net!news.alphanet.ch!alphanet.ch!.POSTED!not-for-mail |
|---|---|
| From | Une Bévue <unbewusst.sein@fai.invalid> |
| Newsgroups | fr.comp.lang.javascript |
| Subject | synchroniser des réponses asynchrones ??? |
| Date | Sun, 16 Apr 2017 08:39:23 +0200 |
| Organization | Posted through ALPHANET (http://www.alphanet.ch/) |
| Lines | 35 |
| Sender | unbewusstsein@vbo91-4-88-164-253-93.fbx.proxad.net |
| Message-ID | <ocv3is$2fl$1@shakotay.alphanet.ch> (permalink) |
| NNTP-Posting-Host | vbo91-4-88-164-253-93.fbx.proxad.net |
| Mime-Version | 1.0 |
| Content-Type | text/plain; charset=utf-8; format=flowed |
| Content-Transfer-Encoding | 8bit |
| X-Trace | shakotay.alphanet.ch 1492324764 2549 88.164.253.93 (16 Apr 2017 06:39:24 GMT) |
| X-Complaints-To | usenet@alphanet.ch |
| NNTP-Posting-Date | Sun, 16 Apr 2017 06:39:24 +0000 (UTC) |
| User-Agent | Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 |
| X-Mozilla-News-Host | news://news.alphanet.ch:119 |
| Xref | csiph.com fr.comp.lang.javascript:3106 |
Show key headers only | 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 | 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