为什么这行是有效的承诺:

const promise = Promise.resolve('Hello');


但这不是:

const otherPromise = () => {
  return Promise.resolve('Hello');
}


尝试使用以下示例调用第二个示例时:

function runOtherPromise() {
  otherPromise
    .then(v => console.log(v));
}


...我得到TypeError: otherPromise.then is not a function。不过,在第一个示例中它可以正常工作。我不明白为什么第二个示例不返回承诺。

最佳答案

otherPromise是一个函数,应按以下方式调用它:

runOtherPromise() {
    otherPromise()
        .then(v => console.log(v));
}

关于javascript - .then不是一个功能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47264281/

10-09 13:55