【JavaScript】阿里编程测验凉经

const timeout = ms => new Promise((resolve, reject) => {
                setTimeout(() => {
                    resolve();
                }, ms);
            });

            const ajax1 = () => timeout(2000).then(() => {
                console.log('1');
                return 1;
            });

            const ajax2 = () => timeout(1000).then(() => {
                console.log('2');
                return 2;
            });

            const ajax3 = () => timeout(2000).then(() => {
                console.log('3');
                return 3;
            });

            const mergePromise = ajaxArray => {
                // 在这里实现你的代码
            };

            mergePromise([ajax1, ajax2, ajax3]).then(data => {
                console.log('done');
                console.log(data); // data 为 [1, 2, 3]
            });

            // 分别输出
            // 1
            // 2
            // 3
            // done
            // [1, 2, 3]

自己写的答案:

                var data = [];
                return Promise.resolve()
                .then(ajaxArray[0]).then(res => data.push(res))
                .then(ajaxArray[1]).then(res => data.push(res))
                .then(ajaxArray[2]).then(res => {
                    data.push(res);
                    return data;
                });

猜你喜欢

转载自blog.csdn.net/qq_35051298/article/details/81545066