async/await について勉強中です。
以下のソースのようにchangeイベントで、ほかのアプリ(会社カレンダー)から休日を
取得する処理を書いてみましたが2点ほど教えていただきたいことがあり、投稿させていただきました。
①動きとしては正しく動いているようですが、添付のようなエラーがコンソールに表示されます。どこかを修正すれば治りますでしょうか?
②この休日取得の処理をいろいろな場面でコールしたいので関数にしたいのですが、その場合async/await はどこに記述することになりますでしょうか?
(()=> {
‘use strict’;
// hh:mm を分に変換
function strToMin(str) {
const hm = str.split(“:”);
return parseInt(hm[0]) * 60 + parseInt(hm[1]);
}
var inputEvents = [
‘app.record.edit.change.訪問日’,
‘app.record.create.change.訪問日’,
‘mobile.app.record.edit.change.訪問日’,
‘mobile.app.record.create.change.訪問日’
];
kintone.events.on(inputEvents, async event => {
//kintoneオブジェクトセット(モバイル or PC)
const KINTONE = event.type.includes(‘mobile’) ? kintone.mobile : kintone;
const erec = event.record;
let isHoliday = ‘平日’;
const apiUrl = kintone.api.url(‘/k/v1/records.json’,true);
const params = {
app: 22,
query: ‘日付 = "’ + erec.訪問日.value + ‘"’
};
await kintone.api(apiUrl,‘GET’,params,(resp) => {
// 表示中レコードの取得
let recordData = KINTONE.app.record.get(), grec = recordData.record;
if (resp.records.length === 0) {
// 会社カレンダー登録なし
const checkWeek = dayjs(erec.訪問日.value);
//曜日チェック
if (checkWeek.format(‘d’) === ‘0’ || checkWeek.format(‘d’) === ‘6’){
isHoliday = ‘休日’;
}
}else{
// 会社カレンダー登録あり
if(resp.records[0].会社休日.value === ‘会社休日’ || resp.records[0].会社休日.value ===‘祝日’ ){
isHoliday = ‘休日’;
}
}
//更新処理
grec[‘平日休日’].value = isHoliday;
KINTONE.app.record.set(recordData);
}, (error) => {
console.log(error);
})
return(event);
});
})();