phinajs / phina.js

phina.js is game library
http://phinajs.com
MIT License
308 stars 48 forks source link

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

Closed negiwine closed 5 years ago

negiwine commented 6 years ago

初めまして。@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を渡しているのが原因かと思いますが、不慣れなもので報告だけさせていただきます。

negiwine commented 5 years ago

248 でマージしていただけたのでcloseします。

対応ありがとうございました。

phi-jp commented 5 years ago

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