現在、ユーザーコードをキーに、所属組織を取得しています。
下記のコードだと、取得する前に、処理が走ってしまします。
changeイベントで、async/awaitを使用しないで処理を待つ方法はあるのでしょうか?
(() => {
‘use strict’;
// kintone.events.on(‘app.record.create.change.支店担当組織_担当者’, event => {
// const record = event.record;
// console.log(‘サブテーブルの行が追加または削除された。’);
// return event;
// });
kintone.events.on([‘app.record.create.change.担当者’, ‘app.record.edit.change.担当者’], event => {
let record = event.record;
let body = record.支店担当組織_担当者.value;
let allvalue = [];
let body02 = [];
console.log(“サブテーブル全ての値”, body);
if (record.支店担当組織_担当者.value) {
allvalue = [];
for (let i = 0; i < record.支店担当組織_担当者.value.length; i++) {
allvalue[i] = record.支店担当組織_担当者.value[i].value.担当者.value[0].code
// body02[i] = allvalue[i].code
body02[i] = {
“code”: allvalue[i]
};
}
};
let sosikicode = [];
let code = [];
let name = [];
console.log(“サブテーブル内の担当者”, allvalue);
if (body02) {
for (let i = 0; i < allvalue.length; i++) {
kintone.api(kintone.api.url(‘/v1/user/organizations’, true), ‘GET’, body02[i], function (resp) {
sosikicode[i] = resp
console.log(sosikicode)
code[i] = sosikicode[i].organizationTitles[0].organization.code;
name[i] = sosikicode[i].organizationTitles[0].organization.name;
})
}
console.log(“コードと組織名”, code, name);
let NameCode = [];
let body03 = [];
for (let i = 0; i < code.length; i++) {
NameCode[i] = {
“code”: code[i],
“name”: name[i]
}
console.log(“name,code”,NameCode)
body03 = {
value: {
“担当者”: {
type: “USER_SELECT”,
value: user
},
“担当組織”: {
type: “ORGANIZATION_SELECT”,
value: [NameCode[i]]
}
}
}
}
}