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

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.
主站蜘蛛池模板: 扎赉特旗| 阿合奇县| 阿瓦提县| 留坝县| 资中县| 资溪县| 凤城市| 二连浩特市| 永靖县| 玛沁县| 江津市| 泊头市| 富蕴县| 孝感市| 翁源县| 吴川市| 武强县| 澎湖县| 锡林浩特市| 高清| 新和县| 黄平县| 永州市| 大渡口区| 陇南市| 榕江县| 阿坝县| 清徐县| 宝坻区| 伊吾县| 伊宁市| 黔东| 封丘县| 岗巴县| 南皮县| 三都| 景东| 西峡县| 体育| 太康县| 龙游县|