データ取得時の同期処理

 

いつも回答いただきありがとうございます。

新規や修正でレコードのドロップダウンを変更したタイミングで、同じドロップダウン項目のレコードで最新のものを1件拾って、そのレコードの数字項目の値を拾ってきたいと考えています。

下のコードにはドロップダウンが同じ内容かチェックするロジックは入っていないのですが、テストで1件入れて置き、その数字が拾えるかテストをしていた際に、

Uncaught Error: app.record.create.change.ドロップダウン_1 is not allowed to return “Thenable” object.

と出てきました。いろいろサイトを検索してみたのですが、どこがまずいか判断できておらず知恵をお借りできれば幸いです。

(function () {
    var events =[
        'app.record.create.change.ドロップダウン_1',
        'app.record.edit.change.ドロップダウン_1'
        ];
    'use strict';
    kintone.events.on(events, function(event) {
        var record = event.record;
        var int残数 = 0;
        var body ={
            "app":kintone.app.getId(),
          "query":' order by 日付 desc,更新日時 desc limit 1 offset 0'
        };
        return kintone.api(kintone.api.url('/k/v1/records',true),'GET',body).then(function(resp){
            int残数=resp.records[0].計算.value;
            record.残数.value=int残数
            return event;
        });
    });
})();

↓こんな風に変えたらできました。

(() => {
    //別kintoneアプリからの取得クラス変数
    var getRecordMethod;
    var events =[
        'app.record.create.change.ドロップダウン_1',
        'app.record.edit.change.ドロップダウン_1'
        ];
    'use strict';
    kintone.events.on(events, event => {
        var record = event.record;
        var int残数 = 0;
        var body ={
            "app":kintone.app.getId(),
            "query":' order by 日付 desc,更新日時 asc limit 1 offset 0'
        };
        kintone.api(kintone.api.url('/k/v1/records',true),'GET',body,(resp)=>{
            int残数=resp.records[0].計算.value;
            let obj =kintone.app.record.get();
            obj.record.残数.value=int残数;
            kintone.app.record.set(obj);
        });
        return event;
    });
})();