我想在 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

uj5u.com熱心網友回復:
你的錯誤是你的 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);
}
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/393543.html
上一篇:如何根據按鈕點擊更新文本?
下一篇:如何繪制L形影片線?
