kintone.Promiseを使用してのエラーチェックと外部API連携について

以下のフローで保存前イベントに外部API連携を実装しています。

https://developer.cybozu.io/hc/ja/articles/204783170 を使用し、アプリ内のフィールド設定情報を取得

②①で取得したフィールドで必須項目(required=true)の場合、レコード値が存在するかのチェックを実施し、存在しない場合は処理終了

③②ですべて存在するもしくは必須項目(required=true)が存在しない場合、アプリAからレコード(1件のみ)を取得する

④③のレコードをもとに外部APIに接続する

⑤外部API側からエラーが返ってきた場合は処理終了。成功が返ってきた場合はkintone側の保存処理実行

もともと、③~⑤までを既に実装して正常に動作しており、エラーチェックのタイミングの問題で①、②を追加実装することになりました。

しかし①、②を追加したことで③以降の処理を実施できなくなりました。

Promiseの記述が間違っていると思うのですが、ご教授いただければ幸いです。

以下ソースコードです。

Mana.U様

お世話になっております.
トヨクモの江田と申します.

kintone.api()は,第4引数のコールバック関数を省略した場合のみ,kintone.Promiseオブジェクトをreturnします.
https://developer.cybozu.io/hc/ja/articles/202166310#step1
https://developer.cybozu.io/hc/ja/articles/360023047852
恐らくご提示いただいたコードですと,24行目のthen()メソッドでエラーが出るかと思います.
Promiseで書くのであれば,2行目が下記のようになります.

kintone.api(kintone.api.url('/k/v1/app/form/fields', true), 'GET', { 'app': kintone.app.getId() }).then(function (resp) {