code: function (times) {
              if (opt.globalTask.state === 'cancel') return;
              uploadChunk(function (err, data) {
                  if (err) { // fail, retry
                      if (times >= that.uploadMaxRetryTimes || task.uploadError || opt.globalTask.state === 'cancel') {
                          callback(err, data);
                      } else {
                          tryUpload(times + 1);
                      }
                  } else { // success
                      callback(err, data);
                  }
              });
          }
docs: 失败重试 3 次