phinajs/phina.js

FlowのthenでFlow以外を返す時の挙動がおかしいことがある

negiwine opened this issue · 2 comments

初めまして。@negiwineといいます。
Flowでおそらく意図しない動作があったので報告します。確認したのはv0.2.2です。

次のコードで、初めのthenで10を返しても次のthenに10ではなく20が渡ってしまいます。

Flow(function(resolve, reject){
  setTimeout(resolve, 1, 20);
})
.then(function(){ return 10; })
.then(function(arg){
  console.log('Flow: '+arg); //'Flow: 20'
});

Flow.resolveで始めたときは正常に10が渡ります。

Flow.resolve(20)
  .then(function(){ return 10; })
  .then(function(arg){
    console.log('Flow2: '+arg); //'Flow: 10'
  });

こちらはrunstantでの確認です。
おそらくこの行でresultValueでなくargを渡しているのが原因かと思いますが、不慣れなもので報告だけさせていただきます。

#248 でマージしていただけたのでcloseします。
対応ありがとうございました。

@negiwine いえいえ遅くなってすみませんでしたmm