1
下应该返回“C”不使用ForEachAsync时等待,但它返回“B”与等待内部操作
using System.Data.Entity;
//...
var state = "A";
var qry = (from f in db.myTable select f);
await qry.ForEachAsync(async (myRecord) => {
await DoStuffAsync(myRecord);
state = "B";
});
state = "C";
return state;
它不会等待DoStuffAsync通过,然后完成,state="C"
运行稍后state="B"
执行(因为里面它仍在等待)。
我不确定自己的ForEachAsync会如何与Action版本一起使用。我只是删除了使用System.Data.Entities;并有我自己的命名空间。 – Todd