关于Promise的异步依次函数调用

在Promise中async用于定义一个异步函数(可不写),该函数返回一个Promise。
如果async函数返回的是一个同步的值,这个值将被包装成一个理解resolve的Promise,
等同于 return Promise.resolve(value),即可依次完成相关异步操作.
let timer = async function timer() {
        return new Promise((reslove, reject) => {
            setTimeout(() => {
                reslove('a');
            }, 1000);
        })
        }
        timer().then(result => {
        setTimeout(()=>{
                console.log(result+1)
                return login(result+1); 
            },2000)
        }).catch(err => {
        console.log(err.message);
        })
    
        let login = async function login(data){
                setTimeout(()=>{
                    console.log(data+1)
                        return login1(data+1); 
                    },2000)
                };
        let login1 = async function login1(data){
            setTimeout(()=>{
                return console.log(data+2); 
            },2000)
        };

猜你喜欢

转载自www.cnblogs.com/bomdeyada/p/10838818.html