kintoneで同期処理をする時、2016年 7月からは「Promise」が利用できるようになっているようです。
経緯などは以下の通り。
「XMLHttpRequest」を使った同期処理の場合、Webブラウザーに警告が表示されてしまったり、イベントハンドラの一部でうまく利用できなかったりしたようです。
そこでサポートされた、Promiseというのは非同期処理をスマートに行なう、ES2015からサポートされた機能とのこと。
kintoneの場合、「kintone.api」メソッドでコールバックの指定を省略すると Promiseオブジェクトが帰ってくるそうです。プログラムを書くと次のようになります。
var params = {app: appId, query: '...'};
return kintone.api('/k/v1/records', 'GET', params).then(function(resp) {
...
return ret;
});
具体的なプログラム例は、以下で紹介されています。
このくらいの例だと、まだちょっと分かりにくいですが、非同期処理が幾重にも重なるとパワーを発揮するようです。