稀勢の里は偉い頑張った


  • JavascriptのPromiseがイマイチ分からなくて。
  • 僕が解決したいのは、具体的にいうと、ポーリングで非同期処理の完了を待つのをどう書いたらいいのか、ということ。
  • setTimeoutかsetIntervalを使うんだけど、それはexecutorに書くべきなのか、resolveに書くべきなのか?
  • firefox(52.0.1)で実験したところ、executorにsetTimeoutを書いてそのtimeoutハンドラ関数の中で例外が起こった場合catchされない。
  • resolveでsetTimeoutするならそのtimeoutハンドラからthrowした例外はcatchで拾われる。
  • この事実をもって、後者に沿った実装が好ましいのだろうと判断しているのだけれど、合ってるんだろうか。
  • コードも書いとくか。
new Promise(function executor(resolve, reject) {
    (function polling() {
        if (o.isCompleted()) {
            resolve();
        }
        setTimeout(foo, interval); //executorの中で非同期処理を書く      
    })();
}).then() {}.catch() {}

よりも

(function polling() {
    new Promise(function executor(resolve, reject) {
        resolve();
    }).then(function () {
        if (!o.isCompleted()) {
            setTimeout(polling, interval); //非同期処理はresolveに書き、新しいPromiseを使う
        }
    }).catch(function () {});
})();

の方が好ましい?

蛍光灯はまぶしい

  • 娘がXperiaのcmを見るたびにそれが嫌いだと話したり、息子がバイト先社員をこき下ろしても傾聴されるのに、僕が会社勤めの愚痴を言うとたしなめられる
  • ああ、妻に、って話です
  • なぜなのか考えると共に、この状況を何らかの形に改善したい
  • 正直僕はこのことに気づいて、傷ついていると感じている
  • 話してみた
  • 彼女が言うには、
    • 会社に入ってからずっと同じことを言っていて、うんうんって聞いたり、こうしたらって助言したりしてきたけど、全然変わらない
    • 言霊みたいなこともあると思うし、口に出して言うのはやめたらって思っていて、そう言う時もある
    • いつもは言っていない。うんうんって聞いているときも多い
    • 子供たちには、お父さんが注意することが多いので、そういうときは私はフォローに回るようにしている
    • 一対一だと子供に対しても注意することはある
  • だそうだ。絶望的ということはないが、かなり認識が違う
  • まだ話し合いが足りないようだ
  • 続く(ブログに書くかは分からん)