can.getKeyValue
Used by can-reflect.getKeyValue to read the stream's last emitted value or error and make those properties observable
by can-observation.
stream[@@can.getKeyValue](key)
can-reflect.getKeyValue will use this function
to read the last emitted value or error by this stream.
Note, streams only have a value if onKeyValue is used to listen to changes. Use
Kefir properties if you want to always be able to read a value.
The following creates a stream that immediately emits a value. When onKeyValue
is used to listen to changes, it will immediately log 1. However,
that value is preserved so getKeyValue can still be used:
var Kefir = require("can-kefir");
var stream = Kefir.stream(function(emit){
emit.value(1);
});
canReflect.onKeyValue(stream, "value", function(newVal){
console.log("new value", newVal);
}); // logs 1
canReflect.getKeyValue(stream,"value") //-> 1
Parameters
- name
{String}:Either
valuefor values emitted by the stream orerrorfor error values emitted by the stream.
Returns
{*}:
The value at that key. The value will be stable for streams that
have already been bound by onKeyValue or Kefir properties.