异步/等待方法出错
本文关键字:出错 方法 等待 异步 | 更新日期: 2023-09-27 18:20:10
我在尝试一些async
方法时遇到以下错误。我正在使用以下示例:Microsoft异步示例
"await"运算符只能在异步方法中使用
方法"等待"是在is异步中,我认为它与微软的例子非常相似。
我在这里做错了什么?
按钮点击
private void btn_Async_Click(object sender, EventArgs e)
{
GeneralFeatures gf = new GeneralFeatures();
Task<long> getLongRunningData = gf._Async();
long answer = await getLongRunningData ;
}
异步方法
class GeneralFeatures
{
public async Task<long> _Async()
{
///// LONG RUNNING TASK /////////
int count = 0;
int j = 1101000;
long a = 2;
while (count < j)
{
long b = 2;
int prime = 1;// to check if found a prime
while (b * b <= a)
{
if (a % b == 0)
{
prime = 0;
break;
}
b++;
}
if (prime > 0)
count++;
a++;
}
///// LONG RUNNING TASK /////////
return a;
}
}
如果方法签名没有async
,则不能有await
。
private void btn_Async_Click(object sender, EventArgs e)
中没有async
应该是:private async void btn_Async_Click(object sender, EventArgs e)
尝试一下,或者从中调用一个异步方法。