我们来看下面的例子:
public void Configure(IApplicationBuilder app)
{
RequestDelegate a = async (ctx) =>
{
if (1 == 1)
{
ctx.Response.StatusCode = 500;
await ctx.Response.WriteAsync("I'm done");
return;
}
};
RequestDelegate b = async (ctx) => await ctx.Response.WriteAsync("Please don't hit this"); ;
RequestDelegate c = a += b;
app.Run(c);
}
由于两个函数已与c
变量连接,因此两个函数都将被执行。我正在尝试做的是在第一个函数中发出信号,我不希望执行第二个函数,它应该返回HttpResponse,因为它在第一个函数中。
显然在这个简单的例子中,我可以使用全局布尔值等,但这不是我所得到的,如果你有2个funcs串联可能来自2个独立的库,那么有没有办法使第二个函数不执行时你无法控制执行,你只知道funcs将由你无法控制的其他东西执行。