Информация об изменениях

Сообщение Async await в цепочке вызовов от 29.04.2020 12:10

Изменено 29.04.2020 12:10 milvic

Async await в цепочке вызовов
Всем привет.

Ситуация:

есть asp.net core mvc приложение, в нём async action который асинхронно вызывает метод M класса SBL
public async Task<ActionResult> A([FromBody]T r) {
var res = await SBL().M(r);
return res;
}

//сигнатура метода TBL.M примерно такая:
public class TBL {
// без async await, но здесь логики нет, просто пробрасывается вызов
public Task<D> M(T r) {
return DBL().M(r);
}
}

//сигнатура метода DBL.M примерно такая:
public class DBL {
public async Task<N> M (T r) {
// тут какая-то сложная логика
return {что-то};
}
}

т.е. async метод, вызывает не async метод который вызывает async метод.
насколько это легально, такой подход имеет место быть?
Async await в цепочке вызовов
Всем привет.

Ситуация:

есть asp.net core mvc приложение, в нём async action который асинхронно вызывает метод M класса SBL
public async Task<ActionResult> A([FromBody]T r) {
   var res = await SBL().M(r);
   return res;
}


//сигнатура метода TBL.M примерно такая:
public class TBL {
  // без async await, но здесь логики нет, просто пробрасывается вызов
  public Task<D> M(T r) {
    return DBL().M(r);
  }
}


//сигнатура метода DBL.M примерно такая:
public class DBL {
  public async Task<N> M (T r) {
     // тут какая-то сложная логика
     return {что-то};
  }
}


т.е. async метод, вызывает не async метод который вызывает async метод.
насколько это легально, такой подход имеет место быть?