LoginSignup
11
9

More than 5 years have passed since last update.

kintoneで動的かつ処理順が保証されるPromiseオブジェクトを生成したい。

Last updated at Posted at 2015-12-30

kintone.Promise使いこなしてますか?

僕はまだまだです
Promiseを動的に生成してデータ処理したい場合の処理について簡単にまとめてみました。

シチュエーション

  • アプリAから該当データを1000件取ってきて、アプリBに追加したい
  • POST APIを使いたいが仕様上100件づつまとめて処理したい
  • 最初の100件追加…次の100件追加…さらに次の100件追加…と順にAPIに送って欲しい
  • Promise.then()で順次処理できるのはわかるけど、データ件数は不定。
  • とにかく動的にPromise-then()で処理をしていきたい! :astonished:

コーディング例

あれこれ迷いながら、ようやく完成。だいたいこんな感じ。

    var count = 0;
    //promiseオブジェクトを返す関数を定義
    var addPromise = function() {
        return new Promise(function(resolve, reject) {         
            kintone.api(
                kintone.api.url('/k/v1/records', true),
                'POST', {
                app: アプリのID,
                "records":promiseArr[count]/* 100件単位のデータと思って下さい。これがkintoneAPIにPOSTされる */
                }
            ).then(function(resp){
                count+=1;
                resolve();
            });
        });
    };

    //ここで動的にthenをつけていく
    var doPromise = addPromise();
    for (var i = 0; i < promiseArr.length; i++) {
        doPromise = doPromise.then(addPromise);
    }

11
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
9