当方法什么都不返回时,则不是函数-Javascript

时间:2020-04-06 18:20:39

标签: javascript promise

我正在尝试创建一个方法,并在另一个方法中访问其返回值。 但是,当我什么也不返回时,promise会给出错误:那就不是函数。

verifyUser() {
  if (currentUser.Title) {
    return Promise.resolve(currentUser)
  }
}

myMethod() {
  this.verifyUser
    .then(user => {
      console.log(user);
    })
}

什么也没回来时,我试图抓住它,但是它也不起作用

1 个答案:

答案 0 :(得分:1)

正确的代码版本应如下所示:

function verifyUser() {
  return new Promise((resolve, reject) => {
    if (currentUser.Title) {
      resolve(currentUser);
    } else{
      reject();
    }
  });
}

function myMethod() {
  verifyUser()
    .then(user => {
      console.log(user);
    })
    .catch(() => {});
}