js的三種異步方法


// 存在異步問題
let fn = () => {
let name = '張三';
setTimeout(() => {
return name;
}, 1000);
}
console.log(fn()); // undefined

// 第一種 回調函數
let fnCallback = (callback) => {
let name = '張三fnCallback';
setTimeout(() => {
callback(name);
}, 1000);
}
fnCallback((data) => {
console.log(data);
})

// 第二種 Promise
let fbPromise = new Promise((success, error) => {
let name = '張三fbPromise';
setTimeout(() => {
success(name);
}, 1000);
})
fbPromise.then((data) => {
console.log(data);
});

// 第三種 async await
let fbAsync = async () => {
let name = '張三fbAsync';
return new Promise((success, error) => {
setTimeout(() => {
success(name);
}, 1000);
})
}
async function main() {
let abc = await fbAsync();
console.log(abc);
}
main();


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM