Asyn c Await Return Task Null. Net Core - PullRequest
       4

Asyn c Await Return Task Null. Net Core

0 голосов
/ 11 февраля 2020

У меня есть такой метод:

public async Task<Response> HandleRequest(string connectionId, Request request)
{
  if (request is AuthorizeRequest)
  {
    return await _handler.HandleRequest(connectionId, request as AuthorizeRequest);
  }

  if (request is ChangeConfigurationRequest)
  {
    return await _handler.HandleRequest(connectionId, request as ChangeConfigurationRequest);
  }

  return await Task.FromResult<Response>(null);  //My question is here
}

Мой вопрос: должен ли я вернуть return await Task.FromResult (null); или вернуть ноль; Потому что, если запрос не «AuthorizeRequest» и «ChangeConfigurationRequest»

Tks all для подсказок

Ответы [ 2 ]

2 голосов
/ 11 февраля 2020

Поскольку ваш метод помечен как async, вы должны вернуть null.

1 голос
/ 12 февраля 2020

Я искал по многим ресурсам, и он сказал, что мы не должны возвращать ноль в Задаче. Это правильно?

Методы, которые возвращают задачу, никогда не должны возвращать задачу null. Однако вы хотите вернуть (не null) задачу, которая содержит значение результата null. Хорошо; это полностью отличается от возврата задачи null.

Для исходного кода используйте return null;. Никогда не используйте await Task.FromResult(...).

...