Je suis en train d'insérer un retard de temps variable entre les éléments du tableau à l'aide Observables. Dans cet exemple, je veux déplacer une icône de lapin horizontalement sur l'écran. Comme une course de pistolet à eau à une arcade. Voici mon tableau d'entréeRxJS: programmable
var inputArray = [
{locationX: 100, timeDelay: 2000},
{locationX: 500, timeDelay: 8000},
{locationX: 700, timeDelay: 3000}
]
Dans cet exemple, le lapin se déplacerait à l'emplacement 100px au bout de 2 secondes, puis à l'emplacement 500px après un délai de 8 secondes, etc ....
var obs = Rx.Observable.from(inputArray)
.flatMap(x => return Rx.Observable.timer(x.timeDelay))
ci-dessus le code ne fonctionne pas. Je boucle juste à travers le tableau sans délai. Des idées?
Mmm ... Je ne vois pas l'erreur, cela fonctionne pour moi http://jsbin.com/wogeposefa/edit?js,console,output –
Merci Miguel pour votre exemple de code. C'est le retour qui a fait échouer mon code. J'ai maintenant une autre question ... Comment renvoyer x.locationX à l'abonné? –
.flatMap (x => Rx.Observable.timer (x.timeDelay) .map (() => x.locationX) – Meir