kintone.Promiseを使用する(非推奨)

目次

warning
注意

cybozu.comがサポートしているすべてのWebブラウザーで、ブラウザーのPromiseを利用可能です。
ブラウザーのPromise (External link)
kintone.Promiseは使わず、ブラウザーのPromiseを使うことを推奨します。

kintone.Promiseを使用する

kintone.Promiseとは、Promiseオブジェクトを使ったkintone JavaScript APIです。
kintone.Promiseを利用すると、Internet Explorer 11などのPromiseに対応していないブラウザーでもPromiseを扱うことができます。

関数

kintone.Promise(executor)

引数

パラメーター名 必須 説明
executor 関数 必須 Promiseオブジェクトに渡す、非同期処理の関数
executorの引数には、次の2つの関数が渡されます。
  • resolve:executor内で、処理に成功したときに呼び出す関数
    resolve関数に渡した値は、thenメソッドの第1引数で受け取ることができます。
  • reject:executor内で、処理に失敗したときに呼び出す関数
    reject関数に渡した値は、thenメソッドの第2引数またはcatchメソッドで受け取ることができます。

thenメソッド、catchメソッドの仕様はMDN Web Docs | Promiseに従います。
MDN Web Docs | Promise (External link)

戻り値

kintone.Promiseオブジェクト

対応イベント

レコード一覧イベント
レコード詳細イベント
レコード追加イベント
レコード編集イベント
レコード印刷画面イベント
グラフイベント
ポータル表示イベント

サンプルコード

kintone.api()を使ったリクエスト

kintone.api()の詳細は、次のページを参照してください。
kintone REST APIリクエストを送信する

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
const body = {
  app: 1,
  id: 1
};

kintone.events.on('app.record.create.submit', (event) => {
  const record = event.record;
  return new kintone.Promise((resolve, reject) => {
    kintone.api(kintone.api.url('/k/v1/record.json', true), 'GET', body).then((resp) => {
      record['文字列_1'].value = resp.record['文字列_1'].value;
      resolve(event);
    });
  });
});
kintone.api()を使わないリクエストの場合
1
2
3
4
5
6
7
8
9
kintone.events.on('app.record.create.submit', (event) => {
  const record = event.record;
  return new kintone.Promise((resolve, reject) => {
    setTimeout(() => {
      record['文字列_1'].value = 'sample';
      resolve(event);
    }, 10000);
  });
});