ES6异步定时器+异步问题+延迟工作

145 阅读1分钟

代码:

<script>
        function show(time){
            // console.log(msg);
            return new Promise((resolve,reject)=>{
                setTimeout(()=>{
                    // 第一步时间*2
                    resolve(time*2)
                },time);
            })
        }
        function step(time){
            console.log(`正在处理中${time}`)
            return show(time);
        }
        
        async function work(){
            let time1=100;
            // step(time1)
            // .then(time2=>step(time2))
            // .then(time3=>step(time3))
            // .then(res=>{
            //     console.log("工作完成!")
            // })
            let time2=await step(time1);//第一步
            let time3=await step(time2);//第二步
            let time4=await step(time3);//第三步
            console.log("工作完成!")
        }

        work();
    </script>

效果:

2.png 第一步的结果乘以2得到结果200

setTimeout(()=>{
                    // 第一步时间*2
                    resolve(time*2)
                },time);

一秒后得到结果200,四秒后得到结果400,最后打印出完成

模块化:


html+export.js和import.js

html页面引入js文件:

3.png 需在其中加上type="module"

export.js代码:

export function sum(a,b){
    console.log(a+b);
}

export function plus(a,b){
    console.log(a*b);
}
export var add=1000;

import.js代码:

import { sum,plus ,add} from "./08export.js";

sum(10,30);

plus(add)

import{传送的属性}

form"url"