获取 promise 的最终返回值

Getting the eventually returned value for promise

试图更好地理解承诺。在下面的代码中,我试图创建两个承诺,分别 return 数字 19 和 23。然后尝试从第一个承诺中控制台记录 returned 值,但我得到 promise1.then 不是函数。我如何获得最终将从 promise1 获得 returned 的值?谢谢。

const promise1 = () => new Promise((resolve, reject) => {
  console.log('inside promise1');
    setTimeout(resolve, 1000, 19);
});

const promise2 = () => new Promise((resolve, reject) => {
    setTimeout(resolve, 3000, 23);
});

promise1.then(d => console.log(d));

你快到了。 Promise1 是一个 returns 承诺的函数。错误的原因是因为您没有将 promise1 作为函数调用。

在调用代码中添加括号。

promise1().then(d => console.log(d));

完整代码:

const promise1 = () => new Promise((resolve, reject) => {
  console.log('inside promise1');
    setTimeout(resolve, 1000, 19);
});

const promise2 = () => new Promise((resolve, reject) => {
    setTimeout(resolve, 3000, 23);
});

promise1().then(d => console.log(d));