Просто отправьте объект "dispatch" с аргументами в очереди.
q.push({ audioName, audioObj, dispatch },()=>{
})
и внутри очереди вы можете сделать что-то вроде этого
let q = async.queue(async function (task, callback) {
uploadFileOnS3(audioName, task).then(function (audioS3) {
console.log("s3 value is", audioS3);
let params = { Key: audioName, Body: task.file, ACL: 'public-read' };
let req = audioS3.upload(params);
req.on('httpUploadProgress', function (evt) {
let percentage = (evt.loaded / evt.total) * 100;
console.log("percentage value is", percentage);
task.dispatch({type: t.PERCENTAGE, payload : percentage}) //here
});
});
}, 1);