Concat
Defer
Empty
FromAsyncPattern
Throw
RefCount
Publish
Pairwise
Concat
连接多个流,按照一定的先后顺序将多个流串联到一起,流包装的数据类型必须一致,图解
执行结果
代码示例
public class No10_Mixed1 : MonoBehaviour
{
void Start()
{
var take = Observable.EveryUpdate().Take(3);
var @return = Observable.Return<long>(100);
var concat = Observable.Concat(take, @return);
concat.Subscribe(Next, Error, Complete);
}
void Next(long value)
{
Debug.LogFormat("Concat之后流的数据是:{0}", value);
}
void Error(Exception ex)
{
Debug.LogException(ex);
}
void Complete()
{
Debug.LogFormat("Complete");
}
}
代码解析
之前的命名规范都有添加Stream,这个没有添加到命名里面去的;因为我们写的不是Framework,不需要全程来命名的,我建议如果你对一个知识点不熟悉的话,那么你命名的时候最好写全一些,这样你自己阅读起来方便;一个知识点熟悉了以后,可以以最简短的命名来给变量命名,@return是为了和编程字段区分开来,@在C#里面是一个合格字符,可以用来命名。
Defer
在没有订阅者订阅之前,不会创建Observable,每次有订阅者来订阅的时候,Defer会创建一个新的Observable,图解
执行结果
代码示例
public class No10_Mixed1 : MonoBehaviour
{
void Start()
{
var defer = Observable.Defer