
しもむー

kintoneでPromiseを使い方を簡単に説明します!
kintoneでPromiseを使う時に一番オーソドックスなのが、レコード登録時に何かしらの処理をするケースだと思います。
例えば、下記コードはコールバックの実行される前にイベント処理が終了してしまいますが、kintone.Promiseを使ってコールバックの処理が実行されるようにする方法を説明します。
kintone.events.on('app.record.create.submit', function(event){
kintone.api(kintone.api.url('/k/v1/records', true), 'GET',
kintone.app.getId(),function(resp) {
//成功時の処理
}, function(err){
//エラー時の処理
}
}); まず重要な知識として、kintone REST APIによってGETやPOSTなどの処理実行時にkintone上で自動的にPromiseオブジェクトが生成されます。
しかし、コールバック関数にはPromiseオブジェクトが生成されていません。
なので、GETやPOSTなどの処理は実行はされるのに、コールバック関数が実行されずにイベント処理が終了してしまいます。
対処法は、まずはコールバック関数をthenで繋ぎます。thenで繋ぐことによってコールバック関数にもPromiseオブジェクトが生成されます。
さらに、kintone REST API をreturnしておかなければイベントが即座に終了してしまいます。
したがって、下記のようになります。
kintone.events.on('app.record.create.submit', function(event){
return kintone.api(kintone.api.url('/k/v1/records', true),
'GET',kintone.app.getId()).then(function(resp) {
//成功時の処理
}).catch(function(err){
//エラー時の処理
});
});
});注意点をおさらいしておきます。
①kintone REST APIは自動的にPromiseオブジェクトを作っている。
②thenによってコールバックを繋いでおく。
③Promiseをreturnする。
イメージとしては、Promiseオブジェクトをreturnしている限りイベント処理が勝手に終わることはないという感じです。
今回は非同期処理を一つ実行する例でしたが、さらに多くの処理を実行するにはthenを使ってさらに繋げることができます。
ちなみに、二つの別々の処理が終わるまで待つという書き方もできるのでPromiseに慣れてきた時にチャレンジすると良いかもしれませんね!
カテゴリー
最新の投稿
見えないIT負債が、会社の成長を止める
【AIで働き方が変わる?】SIerの価値は『作り手』から『伴走者』へ
たかが領収書、されど領収書 — AI 化してみたら、経理の判断は思ったより深かった
【1時間でアプリ完成】FLASH AI サービスが実現する「kintone×生成AI×プロノウハウ」の爆速開発とは?
IT人材の「採用」や「従来の高額外注」はもう不要?
【kintone×AI】毎月アプリを成長させる伴走支援「FLASH STEP」とは?
【kintone × AI】エンジニア生存戦略 ~AIに丸投げする人と、AIをパートナーとして使う人の決定的な差~
失敗しないkintone開発
脱・kintone運用の属人化!kintone×AIで実現する「誰でも扱える」運用体制の作り方
【製造・工場編】kintone × AIが変える現場の姿 生産管理・品質保証・設備保全におけるユースケース