关于javascript:promise的基础认知及学习

var flag = true;
        var message = '我是初始值'
        var p = new Promise(function(resolve,reject) {
            setTimeout(()=>{
                if (flag) {
                    resolve('异步加载胜利')
                    // 传递的相当于掉完接口失去的data
                }else {
                    reject('失败')
                    // 传递的相当于掉接口失败所得的信息
                }
            },5000)
        })
        // .then()办法传递两个参数都是function,第二个参数的函数不是必填,也可写在.catch()办法里和.then同级
        p.then(function (aaa) {
            // 第一个参数用来接管胜利的data并进行解决
            message=aaa
            // console.log(message);
        },function (bbb) {
            // 第二个参数用来接管失败的信息并进行解决
            message = bbb
            // console.log(message);
        })
        // console.log(message);

        // .all()办法同时解决多个异步工作,所有工作实现能力返回后果
        // .race()办法同时解决多个异步工作,只有有一个工作实现就能返回后果
        function pp(text,time) {
            return new Promise(function(resolve,reject) {
            setTimeout(()=>{
                if (flag) {
                    resolve(text)
                    // 传递的相当于掉完接口失去的data
                }else {
                    reject('失败')
                    // 传递的相当于掉接口失败所得的信息
                }
            },time)
            })
        }
        // pp('我胜利了',3000).then((data)=>{
        //     console.log(data);
        // })
        Promise.all([pp('111',1000),pp('222',2000),pp('333',3000)]).then((data)=>{
            console.log(data);
        })
        Promise.race([pp('111',1000),pp('222',2000),pp('333',3000)]).then((data)=>{
            console.log(data);
        })

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理