我有这两个功能。调用foo时需要什么,然后检查它是否成功。因此,目前我正在按照此答案的建议进行操作:Returning a value from a function depending on whether a Promise was resolved or not
function foo() {
performOp()
.then(() => {
console.log('it worked!');
return true;
})
.catch(err => {
console.log('it failed!');
return false;
});
}
function bar() {
foo().then(val => console.log(val));
}
这里的想法是foo将对bar返回一个promise,而bar将打印结果。相反,我看到的是foo()的返回值是不确定的。
答案 0 :(得分:3)
我认为是因为您未返回任何内容,否则该函数默认返回undefined
。假设performOp
是promise
,它将是:
function foo() {
return performOp()
.then(() => {
console.log('it worked!');
return true;
})
.catch(err => {
console.log('it failed!');
return false;
});
}