我需要开火并且忘记对某些异步方法的调用。我意识到VS建议我可以将调用设置为_discard,并且IDE警告会消失。但是我不确定与丢弃一起使用时是否仍未等待该调用。会吗?
public async Task<object> SomeSideTaskToBeForgotten()
{
...blah blah
}
public async Task MainTask()
{
..some stuff
_ = SomeSideTaskToBeForgotten(); //is this still fire and forget?
..some other stuff
}
答案 0 :(得分:5)
是的,它仍然是火和忘记。
当SomeSideTaskToBeForgotten();
返回Task
时,方法的其余部分将执行,而无需等待Task
完成。
舍弃只是突出了以下事实:不需要进行任何进一步处理的Task
。
VS将建议您放弃,因为SomeSideTaskToBeForgotten();
返回的内容不是无效的。