1 Star 0 Fork 0

hez2010/rxgo

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
rxgo_test.go 1.26 KB
一键复制 编辑 原始数据 按行查看 历史
hez2010 提交于 2020-11-09 00:25 +08:00 . chore: switch origin
package rxgo_test
import (
"fmt"
"testing"
"time"
"gitee.com/hez2010/rxgo"
)
type observer struct {
name string
}
func (o observer) OnNext(x interface{}) {
fmt.Println(o.name, "observed value ", x)
}
func (o observer) OnError(e error) {
fmt.Println(o.name, "Error ", e)
}
func (o observer) OnCompleted() {
fmt.Println(o.name, "Down ")
}
func TestMain(t *testing.T) {
// test Subscribe on any
ob := rxgo.Just(10, 20, 30).Map(dd)
ob1 := ob.Map(dd).SubscribeOn(rxgo.ThreadingIO).Debug(true).Map(dd)
ob1.Subscribe(func(x int) {
fmt.Println("Just", x)
})
ob = rxgo.Just(0, 12, 7, 34, 2).Filter(func(x int) bool {
return x < 10
}).SubscribeOn(rxgo.ThreadingIO)
ob.Subscribe(
func(x int) {
fmt.Println("Filter", x)
})
}
func dd(x int) int { return 2 * x }
func TestObserver(t *testing.T) {
var s rxgo.Observer = observer{"test observer"}
rxgo.Just(1, 2, 3).Subscribe(s)
}
func TestTreading(t *testing.T) {
flow := rxgo.Just(10, 20, 30).Map(func(x int) int {
return x + 1
})
/* .FlatMap(func(x int) *rxgo.Observable {
return rxgo.Just(x+1, x+2)
}).SubscribeOn(rxgo.ThreadingIO) */
go flow.Subscribe(observer{"test flatMap"})
//time.Sleep(time.Nanosecond * 1000)
flow.Subscribe(observer{"test flatMap again"})
time.Sleep(time.Microsecond * 1000)
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/hez2010/rxgo.git
git@gitee.com:hez2010/rxgo.git
hez2010
rxgo
rxgo
master

搜索帮助