35 lines
		
	
	
		
			448 B
		
	
	
	
		
			V
		
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			448 B
		
	
	
	
		
			V
		
	
	
| module some_module
 | |
| 
 | |
| import eventbus
 | |
| 
 | |
| const (
 | |
| 	eb = eventbus.new()
 | |
| )
 | |
| 
 | |
| pub struct Work {
 | |
| 	pub:
 | |
| 	hours int
 | |
| }
 | |
| 
 | |
| pub struct Error {
 | |
| 	pub:
 | |
| 	message string
 | |
| }
 | |
| 
 | |
| pub fn do_work(){
 | |
| 	work := Work{20}
 | |
| 	for i in 0..20 {
 | |
| 		println("working...")
 | |
| 		if i == 15 {
 | |
| 			error := &Error{"There was an error."}
 | |
| 			eb.publish("error", work, error)
 | |
| 			eb.publish("error", work, error)
 | |
| 			return
 | |
| 		}
 | |
| 	}
 | |
| }
 | |
| 
 | |
| pub fn get_subscriber() eventbus.Subscriber {
 | |
| 	return eb.subscriber
 | |
| }
 |