如何检查使用promise的函数是否成功?

时间:2018-08-01 22:53:37

标签: javascript node.js asynchronous promise

我有这两个功能。调用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()的返回值是不确定的。

1 个答案:

答案 0 :(得分:3)

我认为是因为您未返回任何内容,否则该函数默认返回undefined。假设performOppromise,它将是:

function foo() {
  return performOp()
    .then(() => {
      console.log('it worked!');
      return true;
    })
    .catch(err => {
      console.log('it failed!');
      return false;
    });
}