试图从 sweetalert 获取价值

Trying to get the value from sweetalert

我正在尝试获取 sweetalert 中的 return 值,但我得到了这个

Promise {<pending>}
  >__proto_:Promise
  [[PromiseStatus]]: "resolved"
  [[PromiseValue]]:true

来自这个代码

var ret = swal({
  title: "Conflict",
  text: "You have the same schedule with "+response.data.title,
  icon: "warning",
  buttons: {
    cancel: {
      text: "Save Anyway",
      value: true,
      visible: true
    },
    confirm: {
      text: "Cancel",
      value: null
    }
  }
})
.then((value) => {
  if (value == true) {
    return true;
  } else {
    return false;
  }
});

console.log(ret); // Nag stop ko ani kay wala ko kabalo pa sa promise

我想要的是从sweetalert中得到boolean值。我试了几个小时,但没有成功。

我也试过这个

console.log(ret.resolved);
console.log(ret.PromiseStatus);

和其他类似的但是,得到了undefined有没有人试过我做的?

Promise 对象表示异步操作的最终完成(或失败)及其结果值。

Promise 处于以下状态之一:

pending:初始状态,既未完成也未拒绝。

fulfilled:表示操作成功完成。

rejected:表示操作失败

Promise.resolve(值) Returns 使用给定值解析的 Promise 对象。

如果值是一个 thenable(即有一个 then 方法),returned promise 将 "follow"那个 thenable,采用它的最终状态;否则 returned promise 将以该值实现。

通常,如果您不知道某个值是否是承诺,则 Promise.resolve(value) 代替它并使用 return 值作为承诺.

您尝试使用静态 Promise.resolve 方法实现的示例

Promise.resolve('Success').then(function(value) {
  console.log(value); // "Success"
}, function(value) {
  // not called
});

来源:Mozilla documentation