[英]function return Promise{ <pending> } in JavaScript
如果我將 function 返回的 promise 的值存儲在一個變量中,然后打印它,那么它會顯示 Promise {pending }。 為什么? 因為直到 3 秒 promise 肯定會解決。
let move = false;
function my() {
return new Promise(
(resolve, reject) => {
if (move === true)
return resolve("resolved")
else
return reject(new Error("Rejected"));
})
}
let obj = my().then((result) => {
console.log("result", result);
})
.catch((err)=>{
console.log("my error");
});
//it prints promise{ <pending> }
setTimeout(()=>{
console.log("time", obj)},3000
)
promise 應該包裝setTimeout
function 並在 3 秒結束后解決。
let move = false;
function my() {
return new Promise((resolve, reject) => {
setTimeout(() => {
if (move) {
resolve('resolved');
} else {
reject(new Error('Rejected'));
}
}, 3000);
});
}
my()
.then(res => {
console.log(res);
})
.catch(err => {
console.log(err.message);
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.