如何在此函数中输入值?
how to input value in this function?
我想在 aws QueryAsync 函数中输入一些数据,但它不起作用
我该怎么做?
List<int> mNum = new List<int>();
mNum.Add(1);
mNum.Add(2);
mNum.Add(3);
client1.QueryAsync(request, (queryResult) =>
{
if(queryResult.Exception != null)
{
print(queryResult.Exception.ToString());
return;
}
foreach(var i in queryResult.Response.Items){ ... }
mNum.Add(4);
});
for(int i = 0; i < mNum.Count; i++) print (mNum[i]); // count -> 3
您的错误是在查询完成之前立即执行了 lambda 表达式之外的代码,因此您的行
mNum.Add(4);
在 for
循环执行后很长时间异步执行并打印出当时存在的唯一 3
个元素。
您宁愿等待回调并在 lambda 中执行,例如
List<int> mNum = new List<int>();
mNum.Add(1);
mNum.Add(2);
mNum.Add(3);
client1.QueryAsync(request, (queryResult) =>
{
if(queryResult.Exception != null)
{
print(queryResult.Exception.ToString());
return;
}
foreach(var i in queryResult.Response.Items){ ... }
mNum.Add(4);
foreach(var num in mNum)
{
print (num);
}
});
我想在 aws QueryAsync 函数中输入一些数据,但它不起作用
我该怎么做?
List<int> mNum = new List<int>();
mNum.Add(1);
mNum.Add(2);
mNum.Add(3);
client1.QueryAsync(request, (queryResult) =>
{
if(queryResult.Exception != null)
{
print(queryResult.Exception.ToString());
return;
}
foreach(var i in queryResult.Response.Items){ ... }
mNum.Add(4);
});
for(int i = 0; i < mNum.Count; i++) print (mNum[i]); // count -> 3
您的错误是在查询完成之前立即执行了 lambda 表达式之外的代码,因此您的行
mNum.Add(4);
在 for
循环执行后很长时间异步执行并打印出当时存在的唯一 3
个元素。
您宁愿等待回调并在 lambda 中执行,例如
List<int> mNum = new List<int>();
mNum.Add(1);
mNum.Add(2);
mNum.Add(3);
client1.QueryAsync(request, (queryResult) =>
{
if(queryResult.Exception != null)
{
print(queryResult.Exception.ToString());
return;
}
foreach(var i in queryResult.Response.Items){ ... }
mNum.Add(4);
foreach(var num in mNum)
{
print (num);
}
});