js的三种异步方法

Posted zhaofeis

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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();

以上是关于js的三种异步方法的主要内容,如果未能解决你的问题,请参考以下文章

js的三种异步处理

js的异步加载及promise的三种状态

JS异步加载的三种方式

C#异步方法async/await的三种返回类型

ajax异步请求的三种方式

Springboot Schedule定时任务实现异步的三种方法