我正在尝试将一个Task存储在字典中以便以后执行,但没有成功:
string functionToExec()
如果我将该函数声明为
router["xyz"] = new Task<string>(functionToExec);
然后我可以做:
var t = router["xyz"];
var data = Encoding.UTF8.GetBytes(await t);
但是我需要将该函数设置为异步。并且不知道如何调用它。我试过了:
mapJson
没有成功。
感谢。
答案 0 :(得分:5)
如果您希望以后能够启动异步操作,那么您不希望存储Task
,您需要存储Func<Task>
(或者,在您的情况下, Func<Task<string>>
,因此,当您想要开始操作时,您可以调用该函数,生成表示其完成的Task
。