
しもむー

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に慣れてきた時にチャレンジすると良いかもしれませんね!
カテゴリー
最新の投稿
kintoneでAIエージェントは何ができる? –具体例でわかる、人とAIの新しい仕事の分担
「AIエージェントって結局何ができるの?」 ーkintone活用企業が知っておきたいAI活用の新常識
営業部門のExcel脱却は AIを活用したkintone構築から
すべてを作り直す必要はない ~既存システムを残しながら「kintone × AI」で業務を改善する「共存」という考え方 ~
新入社員インタビュー【DX総合EXPO夏参戦】~AI時代でも顧客主義を貫くために~
見えないIT負債が、会社の成長を止める
【AIで働き方が変わる?】SIerの価値は『作り手』から『伴走者』へ
たかが領収書、されど領収書 — AI 化してみたら、経理の判断は思ったより深かった
【1時間でアプリ完成】FLASH AI サービスが実現する「kintone×生成AI×プロノウハウ」の爆速開発とは?
IT人材の「採用」や「従来の高額外注」はもう不要?