首先我的承诺得到履行,然后当我从函数返回它后,当我记录承诺的状态时,它会进入待处理状态。这是为什么?:
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');
为什么承诺会从已履行变为待处理?
当您编写
async
函数时,该函数会返回一个全新的 Promise,该 Promise(只要您不等待它)将处于待处理状态。