.then不是一个功能

时间:2017-11-13 12:22:32

标签: javascript es6-promise

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

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。但是,第一个例子可以正常工作。我不明白为什么第二个例子没有回复承诺。

1 个答案:

答案 0 :(得分:6)

otherPromise是一个函数,你应该像下面这样调用它:

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