ルックアップのクリア

ルックアップ取得時、コピー先の値を見てルックアップのクリアをしたいと考えております。

sweetalert2で選択し、はいの時はそのままリターンし、いいえの時はルックアップをクリアする処理を記述しましたが、ルックアップのクリアが行われません。

これは処理の順番が影響しているのか、記述が問題なのかご教示いただけますと幸いです。

また、Promiseについても無理やり使用しているため間違いや正しい書き方があればご教示ください。

よろしくお願いいたします。

new kintone.Promise((res, rej) => {
    var type = record['タイプ']['value'];
    if (type === 'A') {
      swal.fire({
        title: 'Aが選択されました',
        html: 'Aのみ選択できます。<br>このまま実行しますか?',
        icon: 'warning',
        confirmButtonText: 'はい',
        showCancelButton: true,
        cancelButtonText: 'いいえ',
      }).then((result) => {
        if (result.value) {
          res();
        } else {
          rej();
        }
      });
    }
  }).then(() => {
    return event;
  }).catch(() => {
      swal.fire({
      record['ルックアップ']['lookup'] = 'CLEAR';
      title: 'クリアしました',
      icon: 'info',
    });
    return event;
    });

ルックアップの取得時ということは、ルックアップで取得する「タイプ」のchangeイベントでしょうか?
changeイベントの場合、SweetAlertを含む非同期処理を待った処理(Promise)はできません。confirm等であればeventオブジェクトの操作をする形で問題ありませんが、SweetAlertであれば実行後にkintone.app.record.get()とkintone.app.record.set()が必要です。

(function() {
  'use strict';

  let field = 'タイプ'; // タイプのフィールドコード
  let lookupField = 'ルックアップ'; // ルックアップのフィールドコード

  kintone.events.on([
    'app.record.create.change.' + field, 'app.record.edit.change.' + field
  ], (event) => {
    let record = event.record;

    if (record[field].value == 'A') {
      swal.fire({
        title: 'Aが選択されました',
        html: 'Aのみ選択できます。<br />このまま実行しますか?',
        icon: 'warning',
        confirmButtonText: 'はい',
        showCancelButton: true,
        cancelButtonText: 'いいえ'
      }).then((result) => {
        if (!result.value) {
          let recordData = kintone.app.record.get(), rec = recordData.record;

          rec[lookupField].lookup = 'CLEAR';
          kintone.app.record.set(recordData);

          swal.fire({
            title: 'クリアしました',
            icon: 'info'
          });
        }
      });
    } else {
      record[lookupField].lookup = 'CLEAR';
    }
  
    return event;
  });
})();