1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > js 异步函数讲解: Promise async和await示例

js 异步函数讲解: Promise async和await示例

时间:2021-01-16 13:45:25

相关推荐

js 异步函数讲解: Promise async和await示例

ECMAScript ,也称为 ES6,引入了 JavaScript Promise 对象,用于异步执行运行时间较长的任务。

有两种方式来实现异步编程: 一是使用Promise对象,二是使用async关键字

使用Promise对象

基本用法如下:

/*** 使用Promise对象执行一个任务*/var promise = new Promise((resolve, reject) => {setTimeout(function() {resolve('promise end');}, 1000);});console.log("main process start")/**then可以传入成功和失败的回调函数*/promise.then((msg) => {console.log(msg);})console.log("main process stopped");

执行结果:

main process startmain process stoppedpromise end

使用async关键字

更简单的方法是使用async关定义一个异步函数:

/*** 测试辅助函数: 回调函数*/function callback(str){console.log(str);}/*** 测试辅助函数: sleep函数用于模拟长时间执行任务**/function sleep (time) {return new Promise((resolve) => setTimeout(resolve, time));}/*** 异步函数*/async function func1(callback) {await sleep(3000);callback("func1 callback");return "func1 return";}/*** 通过回调和返回值两种方式获得异步函数处理的结果*/console.log("main process start")func1(callback).then(res=>{console.log(res);});console.log("main process stopped");

执行结果:

main process startmain process stoppedfunc1 callbackfunc1 stoppedfunc1 return

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。