, если это то, что вы имеете в виду, вероятно, это поможет
$id = 1;
$sub = 'month';
function check($callback){
if(is_callable($callback)){
return call_user_func($callback);
}
return false;
}
$check = check(function() use ($id, $sub) {
echo $id;
echo $sub;
});
$check;
Если у вас есть 5 изображений, эти 5 изображений должны содержать другой imgUrl, вы повторяете N раз для загрузки кода в Firebase Storage с той же самой uploadTask
UploadTask uploadTask = storageReference.putFile(imgUrl); --> This same task
tasks.add(uploadTask);
for (UploadTask str : tasks) { --> is repeating N times with the same imgUrl
Task<Uri> urlTask = str.continueWithTask(new Continuation<UploadTask.TaskSnapshot, Task<Uri>>() {
@Override
public Task<Uri> then(@NonNull Task<UploadTask.TaskSnapshot> task) throws Exception {
...
Что вам нужно сделать, это переместить ваш цикл forEach для обработки каждого отдельного imgUrl и последующей загрузки каждого в ваше хранилище, например
псевдокод
forEach(imgUrl) {
uploadtask = storageReference.putFile(imgUrl);
tasks.add(uploadTask);
Task<Uri> urlTask = str.continueWithTask(new Continuation<UploadTask.TaskSnapshot, Task<Uri>>() {
@Override
public Task<Uri> then(@NonNull Task<UploadTask.TaskSnapshot> task) throws Exception {
...