我在下面的代码中找不到我的错误。
我想要的只是save()返回true或false但它总是undefined
function mypromise() {
return new Promise((resolve, reject) => {
resolve("it worked")
})
}
function save() {
mypromise().then(success => {
return true
}, error => {
return false
});
}
var saveSuccessful = save();
console.log('success', saveSuccessful) // undefined ?
答案 0 :(得分:0)
只有在承诺执行完毕后,您才能知道保存是否成功,如下所示:
function mypromise() {
return new Promise((resolve, reject) => {
resolve("it worked")
})
}
function save() {
mypromise().then(success => {
console.log('success');
return true;
}, error => {
return false
});
}
save();
如果您可以写var saveSuccessful = save();
表示save()
同步,则根据同步定义,但您明确希望它是异步