whole_func_string: function react(request, effects, retryStrategy) {
          return reactWithLatest(function (state) {
              var requestInstance = request(state);
              return requestInstance != null
                  ? [{ id: requestInstance, request: requestInstance }]
                  : [];
          }, function (request, _, scheduler) { return effects(request, scheduler); }, retryStrategy);
      }
func_code_string: function react(request, effects, retryStrategy) {
          return reactWithLatest(function (state) {
              var requestInstance = request(state);
              return requestInstance != null
                  ? [{ id: requestInstance, request: requestInstance }]
                  : [];
          }, function (request, _, scheduler) { return effects(request, scheduler); }, retryStrategy);
      }
func_documentation_string: State: State type of the system.
  Request: Subset of state used to control the feedback loop.
  
  When `request` returns a value, that value is being passed into `effects` lambda to decide which effects should be performed.
  In case new `request` is different from the previous one, new effects are calculated by using `effects` lambda and then performed.
  
  When `request` returns `nil`, feedback loops doesn't perform any effect.
  
  @param request The request to perform some effects.
  @param effects The request effects.
  @param retryStrategy The retry strategy for the effects in case an error happends.
  @returns The feedback loop performing the effects.