试图从sweetalert获得价值

时间:2017-11-14 09:10:14

标签: javascript jquery sweetalert

我正试图在sweetalert中获得返回值,但我得到了这个

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获取布尔值。我试了好几个小时但没有运气。

我也试过这个

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

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

1 个答案:

答案 0 :(得分:1)

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

承诺处于以下其中一种状态:

待审:初始状态,既未履行也未拒绝。

已完成:表示操作已成功完成。

拒绝:表示操作失败。

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

如果该值是一个可设置的值(即具有then方法),则返回的promise将“跟随”那个,然后采用其最终状态;否则返回的承诺将通过该值来实现。

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

使用静态Promise.resolve方法

尝试实现的示例
Promise.resolve('Success').then(function(value) {
  console.log(value); // "Success"
}, function(value) {
  // not called
});

来源:Mozilla documentation