Promise が resolve されてるかチェックする
ってこれでいいんじゃないか? と遅延した電車内でふと気が付いた。 コードは全部スマホで打ったので syntax error 等あるかもしれませんが…
追記(2017/2/15 21:50):案の定 delay() 関数が間違ってたので修正。あと例を追記。
追記(2017/2/19 21:50)ブクマされてるみたいなのでさらに追記。
チェックするまでの間にタイムラグがあるので、コードの一番下の方でも示したように、
delay(1)
(1ms) の Promise はチェックするまでに resolve されてしまうため resolved と判定されることに注意。
なので本当はこういうコードが必要ない書き方にするのが一番いいんだろうと思う。
ただ以前 resolve されてるか判定したいことがあったような?とふと思い出してやってみたという程度なので、参考程度に。
追記(2017/2/19 22:27):あとそういえば setTimeout(fn, 0)
よりも setImmediate(fn)
使った方がいいかもしれません。