2
私はたくさんの関数がJustまたはNothingの値を返していますが、このように一緒にチェーンしたいとします。チェーンコールによるRamda Pass "Maybe"エラーメッセージ
var a = M.Just("5").map(function(data){
return 1;
}).chain(function(data){
/*Make some operation return Just or Nothing */
console.log(data);
return M.Just(2);
}).chain(function(data){
/*Make some operation return Just or Nothing */
console.log(data);
return M.Nothing("Reason 1");
}).chain(function(data){
/*Make some operation return Just or Nothing */
console.log(data);
return M.Nothing("Reason 2");
}).getOrElse(function(data){
console.log(data);
return "Message";
});
console.log(a());
出力:関数はM.Nothing(「原因1」)を戻り、このステップにおいて失敗しているので、この上記のコードで
> 1
> 2
> undefined
> Message
それは何である他の機能上を通過しません期待される。私は、パラメータを取るNothingのための有効なコンストラクタがないと信じています。実行の最後にこの失敗メッセージを受け取る方法はありますか?私はこのようにフォークにこれを試しましたが、これはファンタジーランド仕様に関連していますか?
ありがとうございました
「Maybe」と「Either」の両方が短絡を表しています。しかし、後者はエラーメッセージを出すことができますが、前者はエラーメッセージを出力できません。 – ftor
複数のエラーを収集する場合は、「検証」タイプのように見てください。 –