JS 利用Promise.all 简单实现多任务并行

       function TaskWaitAll() {
            function timerPromisefy(func) {
                return new Promise(function (resolve, reject) {
                    func(resolve, reject);
                });
            }
            var taskall = [];
            for (var i = 0; i < arguments.length; i++) {
                taskall.push(timerPromisefy(arguments[i]));
            }
            return Promise.all(taskall);
        }

使用起来非常方便

    TaskWaitAll(function (resolve) {
        resolve(1);
    },function (resolve) {
        resolve(2);
    },function (resolve) {
        resolve(3);
    }).then(function (results){
        console.log(results);//打印出来等于[1,2,3]
    });

 

你可能感兴趣的:(javascript)