如果从导航弹出Xamarin.Forms页面,代码在等待之后会怎样?

时间:2018-09-30 08:36:16

标签: c# xamarin.forms async-await

假设我有一个MyContentPage,它从某处推送到导航堆栈中,如下所示:

navigation.PushAsync(new MyContentPage());

MyContentPage内某处,有

await SomeLongRunningTask();
// Code after the await

如果Code after the await仍在执行时用户按下Back并因此从导航堆栈中弹出SomeLongRUnningTaskMyContentPage会发生什么?

1 个答案:

答案 0 :(得分:3)

简单的答案是什么,您的任务仍在运行,并且您的视图模式以及页面可能会在内存中徘徊

如果您想结束该任务,那么您将需要使用取消令牌或某种停止处理的方式。

更新

  

等待之后发生什么编码。将//等待运行后进行编码   即使页面已弹出?

它将运行