code: function parallel(list) {
    return new exports.Promise((resolve, reject) => {
      const result = [];
      let finishCount = 0;
      list.forEach((p, i) => {
        p.then(ret => {
          result[i] = ret;
          finishCount += 1;
          if (finishCount >= list.length) {
            resolve(result);
          }
        }).catch(err => {
          return reject(err);
        });
      });
    });
  }
docs: 并行执行多个 Promise 任务
  
  @param {Array} list
  @return {Promise}