• async/await的应用场景


    个人理解,async/await的应用场景主要是为了解决异步多层回调嵌套的问题,举例如下:

    function sleep(time) {
        return new Promise((resolve, reject) => {
            setTimeout(() => {
                console.log(`sleep ${time}s`);
                resolve(time);
            }, time);
        });
    }
    
    // 目标:等待几秒后再执行下一个log,下一个log依赖上一个sleep返回的值
    // 解决办法:1. promise.then  2. async/await
    
    console.log("start");
    // 1. promose.then
    sleep(1000).then((res1) => {
        console.log(res1 + "log1"); // 1秒后打印 1000log1
        sleep(2000).then((res2) => {
            console.log(res2 + "log2"); // 2秒后打印 1000log1
        });
    // 多层回调,如果每个异步函数都依赖上个异步函数返回的结果,且有多个,写起来将层层嵌套 });
    // 2. async/await async function run() { const a = await sleep(1000); console.log(a + "log1"); // 1秒后打印 1000log1 const b = await sleep(2000); console.log(b + "log2"); // 2秒后打印 1000log1 } run();
  • 相关阅读:
    PHP文件系统处理
    JavaScript数据类型
    JavaScript操作符
    JavaScript语法
    在 HTML 中使用JavaScript
    JavaScript概述
    PHP数组
    PHP基本语法
    Eclipse署动态web项目方法
    xml约束技术之dtd
  • 原文地址:https://www.cnblogs.com/beileixinqing/p/16352953.html
Copyright © 2020-2023  润新知