前提・実現したいこと
前提
現在以下に記述しているコードで特定のアプリの全レコードを取得している。
実現したい
同じタイミングで二つのアプリのレコードを取得、比較し同じ値のフィールドを取得したい。
該当のソースコード
javascript
1(function() { 2 "use strict"; 3 4 // レコード一覧画面 5 kintone.events.on('app.record.index.show', function(event) { 6 var manager = new KintoneRecordManager; 7 manager.appId = ; // 他のアプリID 8 manager.getRecords(function(records) { 9 // レコード取得後の処理 10 console.log(records); 11 console.log(records[records.length-1]) 12 }); 13 14 return event; 15}); 16 17 /** 18 * kintoneと通信を行うクラス 19 */ 20 var KintoneRecordManager = (function() { 21 KintoneRecordManager.prototype.records = []; // 取得したレコード 22 KintoneRecordManager.prototype.appId = null; // アプリID 23 KintoneRecordManager.prototype.query = ''; // 検索クエリ 24 KintoneRecordManager.prototype.limit = 100; // 一回あたりの最大取得件数 25 KintoneRecordManager.prototype.offset = 0; // オフセット 26 27 function KintoneRecordManager() { 28 this.appId = kintone.app.getId(); 29 this.records = []; 30 } 31 32 // すべてのレコード取得する 33 KintoneRecordManager.prototype.getRecords = function(callback) { 34 kintone.api( 35 kintone.api.url('/k/v1/records', true), 36 'GET', 37 { 38 app: this.appId, 39 query: this.query + (' limit ' + this.limit + ' offset ' + this.offset) 40 }, 41 (function(_this) { 42 return function(res) { 43 var len; 44 Array.prototype.push.apply(_this.records, res.records); 45 len = res.records.length; 46 _this.offset += len; 47 if (len < _this.limit) { // まだレコードがあるか? 48 _this.ready = true; 49 if (callback !== null) { 50 callback(_this.records); // レコード取得後のcallback 51 } 52 } else { 53 _this.getRecords(callback); // 自分自身をコール 54 } 55 }; 56 })(this) 57 ); 58 }; 59 return KintoneRecordManager; 60 })(); 61})(); 62
試したこと
プログラムに触れたことがなく、1つ1つ調べながらいじってきましたが、思うように動かないしどうしていいかもわからない状況。
上記のサンプルはkintone developer networkのサンプル
超初心者の私めにアドバイス頂ければ幸いです。
よろしくお願いいたします。
補足情報(FW/ツールのバージョンなど)
kintoneのプラグインJSEdit for kintoneを利用しています
回答1件
あなたの回答
tips
プレビュー