我正试图在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
有没有人尝试过我做过的事情?
答案 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