node.jsでGoogleHomeが自発的に喋ってくれる有名なライブラリgoogle-home-notifierを使用しています。毎朝決まった時間にGoogleカレンダーに登録している「1.ゴミ情報カレンダー」と「2.家族共有カレンダー」を読み上げてくれるように設定しています。
ただ非同期処理ですと、「1.ゴミ情報カレンダー」を言い終わる前に「2.家族共有カレンダー」をGoogleHomeが喋ってしまうので、うまく行きません。「1.ゴミ情報カレンダー」を読み上げてくれた後に「2.家族共有カレンダー」を読み上げるように、node.jsのasync/awaitを使用して同期処理を行います。
目次
async/ await 構文
複数の非同期処理の結果を同期関数のように受け取ることができるようになります。
awaitというプレフィックス は、 非同期処理の結果を受け取るまで、関数の実行を停止する役割を果たします。以下はexecGetTodayCal関数でGoogleカレンダーの情報を2回取りに行き、取得した後でexecGoogleHomeNotifier関数でGoogleHomeにカレンダーの内容を喋ってもらっています。
コメント