官术网_书友最值得收藏!

Subscribing using the log method

So far, every time we created an observable, we used the onValue() method to listen to events in the observable. In our examples, we usually just printed the value to the console,as this is common usage when testing observables and operators bacon.js has a special method through which you can print all the events to the console. All observables have the log() method. This method prints every event to the console and prints the <end> string when the event stream finishes. We can use it with EventStreams:

Bacon 
.fromArray([1,2,3,4,5])
.log();

This code gives you the following output to the console:

    1
2
3
4
5
<end>

As you can see, after all the events, it will print the <end> string to indicate the end of the EventStream. If we decide to use it with an infinite stream (a stream created with the interval() method), it will never print the <end> string (as you should expect). Refer to the following code:

Bacon 
.interval(100)
.log()

This will print the following output:

    {}
{}
{}
{}

It will keep on printing until you close the program.

We can also use the log() method with a Property, as you can see in the following example:

var stringProperty = Bacon 
.fromArray(['a','b','c','d'])
.scan('=> ',(acc,b)=> acc+b);

stringProperty.log();

This will print the following output:

    =>
=> a
=> ab
=> abc
=> abcd
<end>

As you can see, this prints the <end> string for a Property as well.

The log() method is especially useful for debug purposes and to test and see how an operator works. It is the fastest way to see an operator in action.
主站蜘蛛池模板: 兴国县| 蒙自县| 泾源县| 云安县| 舒城县| 梅河口市| 抚远县| 阿拉善右旗| 武宁县| 新巴尔虎左旗| 灵寿县| 佛山市| 宁强县| 商水县| 库尔勒市| 邻水| 平潭县| 万全县| 达孜县| 峡江县| 海宁市| 海淀区| 蒙城县| 浦北县| 武邑县| 西峡县| 丰都县| 荔波县| 临沧市| 竹溪县| 中西区| 阜康市| 七台河市| 云安县| 子长县| 河北区| 肇东市| 化隆| 肃宁县| 德惠市| 游戏|