为什么我的承诺从已履行变成待处理?

问题描述 投票:0回答:1

首先我的承诺得到履行,然后当我从函数返回它后,当我记录承诺的状态时,它会进入待处理状态。这是为什么?:

const createPromise = ()=> {
    return new Promise((resolve, reject) => {
      const data = 'Something';
      if (data) {
        resolve(data);
      } else {
        reject('Failed to load data');
      }
    });
  };

  const showData = async () => {
    const data = createPromise(); // createPromise returns Promise<any>
    console.log(data); // PromiseState 'fulfilled'
    return data;
  };
  
let promise = showData();
console.log(promise); // PromiseState 'pending'

console.log('print_something');

为什么承诺会从已履行变为待处理?

javascript promise
1个回答
1
投票

当您编写

async
函数时,该函数会返回一个全新的 Promise,该 Promise(只要您不等待它)将处于待处理状态。

© www.soinside.com 2019 - 2024. All rights reserved.