2017-10-15 1 views
0

Disons que je voudrais que le flux d'émettre une erreur dans certains cas:Comment envoyer une erreur à partir d'un fichier .map() sur un flux xstream?

import xs from 'xstream' 
//... 
function transformBlah(blah) { 
    if (blah.status >= 200 && blah.status < 300) { 
     return blah.body 
    } else { 
     return new Error('I would like to send an error onto the Stream here') 
    } 
} 
const blahTransformed$ = xs.create(new BlahProducer()) 
          .map(transformBlah) 
+0

https://github.com/staltz/xstream#throw – bloodyKnuckles

+0

@bloodyKnuckles Merci, mais comment le faire sur le Stream actuel sur lequel '.map' est activé? Ou est-ce que le fait de retourner un nouveau Stream de 'transformBlah' fonctionne? –

Répondre

0

J'ai trouvé que soulever une exception parvient dans les deux rxjs et xstream:

import xs from 'xstream' 
//... 
const blahTransformed$ = xs.create(new BlahProducer()) 
          .map(blah => { 
           if (blah.status >= 200 && blah.status < 300) { 
            return blah.body 
           } else { 
            throw blah.status 
           } 
          }) 

L'exception est pris par la bibliothèque Observable, et une erreur est émise sur le Stream.