这是在 Akka.NET中使用的官方示例:PipeTo()
Receive<BeginProcessFeed>(feed =>
{
//instance variable for closure
var senderClosure = Sender;
SendMessage(string.Format("Downloading {0} for RSS/ATOM processing...", feed.FeedUri));
//reply back to the sender
_feedFactory.CreateFeedAsync(feed.FeedUri).PipeTo(senderClosure);
});
问题是我们为什么要Sender
在这里使用闭包?为什么不只使用:
_feedFactory.CreateFeedAsync(feed.FeedUri).PipeTo(Sender);
在此示例和文档中,据说必须在此处使用闭包。但我看不出有任何理由这样做。
如果我们使用ContinueWith()
在延续内部使用闭包是合理的,但不作为PipeTo()
参数。
我错过了什么吗?