Что если я не дождусь асинхронного метода при вызове его для синхронного метода в asp.net? - PullRequest
0 голосов
/ 02 июня 2019

У меня есть два метода, которые асинхронно отправляют otp по электронной почте и смс.

Теперь я вызываю их из моего метода обработчика синхронного события.

Это работает отлично.Я получаю OTP как по SMS, так и по электронной почте.Но мне интересно, правильно ли это, или я должен сделать свое событие асинхронным и ждать, пока оба метода отправят otp.

Обратите внимание, что мне не требуются никакие результаты / возвращаемые значения из моих асинхронных методов.Мне просто нужно, чтобы они выполнили свою часть.

Я искал ответы в Интернете, но никто не мог очистить мои сомнения.Пожалуйста, помогите.Я новичок в async / await.

public async Task SendEmail(int otp) {}
public async Task SendSMS(int otp) {}

protected void SendOTP_OnClick(object sender, EventArgs e){
    // Do Something with database...
    int otp=1234;
    SendEmail(otp);
    SendSMS(otp);
}

1 Ответ

2 голосов
/ 02 июня 2019

Обратите внимание, что мне не нужны никакие результаты / возвращаемые значения из моих асинхронных методов.Мне просто нужно, чтобы они выполнили свою роль.

Вам нужно знать , они делают свою роль?Результат метода включает в себя не только возвращаемое значение, но и указание того, успешно ли оно выполнено (успешно возвращается) или нет (генерируется исключение).Если вам нужно знать, не срабатывают ли эти методы, вы не можете использовать функцию «забей и забудь».

Интересно, это правильно, или я должен сделать свое событие асинхронным и ожидать обоих методов для отправкиотп.

Подавляющее большинство времени разработчики хотят знать, не сработают ли их методы, поэтому лучше await.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...