在某些情況下,我們可能需要在一定時(shí)間后執(zhí)行一些異步操作,并且需要在操作完成后執(zhí)行一些其他操作。這時(shí)可以使用setTimeout結(jié)合Promise來實(shí)現(xiàn)這個(gè)需求。
例如,我們需要在2秒后獲取一些數(shù)據(jù),并且在數(shù)據(jù)獲取完成后輸出這些數(shù)據(jù)??梢赃@樣實(shí)現(xiàn):
function fetchData() {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve("Data fetched successfully");
}, 2000);
});
}
fetchData().then((data) => {
console.log(data);
});
在上面的代碼中,fetchData函數(shù)返回一個(gè)Promise對(duì)象,在2秒后Promise resolve,返回"data fetched successfully",然后我們通過.then方法來獲取這個(gè)數(shù)據(jù)并輸出。
通過這種方式,我們可以很方便地在一定時(shí)間后執(zhí)行異步操作,并在操作完成后執(zhí)行其他操作。