ES6和ES7异步处理的详解(代码示例)

本篇文章给大家带来的内容是关于es6和es7异步处理的详解(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

一次性掌握ES6/ES7异步处理

假定一个场景,等女朋友睡起来出去逛街,超过5s就不等了,自己打游戏了 …

ES6 Promise 处理方式

promise 写法
promise链式调用方法,只有当异步处理成功后回到用.then(data => {}) 拿到异步处理成功后的数据
异步处理出错时,会调用.then(err => {}) 获取到异常
也就是说.then( data => {}, err => {}) 方法里有两个回调函数作为参数
或者还有第二种写法.then(data => {}).catch(err => {})

function waiting (ms) {    return new Promise ( (resolve, reject) => {        if(ms > 5000) {            reject('long time')        } else {            setTimeout(() => {                resolve(ms);            }, ms)        }    })}function main () {    waiting(3000).then( success => {        console.log(success);    }, err => {        console.log(err)    })}// 或者function main() {    waiting(3000).then(data => {        console.log(data)    }).catch(err => {        console.log(err);    })}

登录后复制

ES7 Async/Await 处理方式

async 表明这个函数里面有异步操作,await总是写在async声明的函数中的
遇到awit,函数就会停止执行,等待异步操作结束,再执行后面的语句
异步操作获取的结果即为resolve回调函数的参数返回
异常即通过reject回调函数参数获取
注意,捕获异常时,我们往往需要在async函数体中使用 try catch 方式获取异常

let sleep = ms => {    return new Promise ( (resolve, reject) => {        if(ms > 5000) {            reject('long time')        } else {            setTimeout(function() {                resolve(ms)            } ,ms)        }    })}let play = (ms) => {    console.log(`I wait you ${ms} s`)}let main = async () => {    try{        let result = await sleep(3000);        play(result)    } catch (err) {        throw err    }}

登录后复制

注意:await等的是什么?是promise是承诺 返回的是resolve回调函数里面的数据

以上就是ES6和ES7异步处理的详解(代码示例)的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2736717.html

(0)
上一篇 2025年3月8日 01:27:39
下一篇 2025年3月8日 01:27:49

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • es6中代理的详细介绍(代码示例)

    本篇文章给大家带来的内容是关于es6中代理的详细介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 概述 代理嘛,就是请代理人代替自己做某件事,但是和自己不一样的是代理人可以有自己的行为,甚至可以做出和预期相违…

    编程技术 2025年3月8日
    200
  • javascript如何实现值的类型转换

    本篇文章给大家介绍使用javascript进行值的类型转换的方法,有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 JavaScript是松散类型的语言,大多数情况下,运算符和函数会自动将值转换为正确的类型(隐式转换);但也…

    2025年3月8日 编程技术
    200
  • es6中模块化的内容介绍(代码示例)

    本篇文章给大家带来的内容是关于es6中模块化的内容介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 概述 模块化是一个大型项目的必然趋势。 命名导出 可以使用export关键字,导出你要导出的东西,可以导出常…

    编程技术 2025年3月8日
    200
  • 浏览器的进程与线程的介绍

    本篇文章给大家带来的内容是关于浏览器的进程与线程的介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 进程 进程是cpu的资源分配的最小单位。 多进程:多进程指的是在同一个时间里,同一个计算机系统中如果允许两个或两个以上的…

    编程技术 2025年3月8日
    200
  • javascript如何将字符串反转输出

    javascript如何实现字符串的反转?本篇文章就给大家介绍javascript怎么将字符串反向输出,让大家了解javascript反转字符串的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。【相关视频教程推荐:ja…

    2025年3月8日 编程技术
    200
  • 在javascript中如何使用严格模式?使用示例

    javascript中如何使用严格模式?本篇文章就给大家简单介绍javascript中的严格模式是什么意思?如何使用?有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 严格模式是什么意思?有什么用? 严格模式是ECMAScr…

    编程技术 2025年3月8日
    200
  • JavaScript中==和===的区别是什么

    本篇文章我们给大家带来的内容是介绍JavaScript中==和===运算符之间的区别是什么?有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 首先我们要知道:JavaScript中’==’运算符表示抽…

    2025年3月8日
    200
  • puppeteer爬虫是什么?爬虫的工作原理

    本篇文章给大家带来的内容是介绍puppeteer爬虫是什么?爬虫的工作原理。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 爬虫(puppeteer)是什么? 爬虫又称网络机器人。每天或许你都会使用搜索引擎,爬虫便是搜索引…

    2025年3月8日
    200
  • JavaScript如何创建对象?实例化对象的方法

    本篇文章给大家带来的内容是介绍JavaScript如何创建对象,让大家了解用js创建并实例化对象的三种方法。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 在语法方面上,JavaScript是一种灵活的面向对象语言。在我们…

    2025年3月8日
    200
  • Vue数据通信的详细介绍(附实例)

    本篇文章给大家带来的内容是关于vue数据通信的详细介绍(附实例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 一、前言 组件是 vue.js最强大的功能之一,而组件实例的作用域是相互独立的,这就意味着不同组件之间的数据无…

    2025年3月8日 编程技术
    200

发表回复

登录后才能评论