<?xml version="1.0" encoding="UTF-8"?><api:function-page xml:base="/apidoc/8.0/xdmp.invokeFunction.xml" generated="2015-10-07T16:36:00.016766-07:00" mode="javascript" xmlns:api="http://marklogic.com/rundmc/api"><api:function-name>xdmp.invokeFunction</api:function-name><api:suggest>xdmp.invokefunction</api:suggest><api:suggest>xdmp</api:suggest><api:suggest>invokefunction</api:suggest><api:function mode="javascript" name="invokeFunction" type="builtin" lib="xdmp" category="Extension" subcategory="XQuery Context" class="javascript" hidden="false" bucket="MarkLogic Built-In Functions" prefix="xdmp" namespace="http://marklogic.com/xdmp" fullname="xdmp.invokeFunction"><api:summary>
  Returns the result of evaluating a function value.
</api:summary><api:params><api:param name="jsFunc" type="function()"><api:param-description>
    A zero arity function value to execute.
  </api:param-description><api:param-name>jsFunc</api:param-name><api:param-type>function()</api:param-type></api:param><api:param name="options" type="(element()|map:map)?" optional="true"><api:param-description>
  The options object. The default value is (). See the
  <a href="./xdmp.eval" xmlns="http://www.w3.org/1999/xhtml"><code>xdmp.eval</code></a> section for a list of options.
  </api:param-description><api:param-name>options</api:param-name><api:param-type>Object?</api:param-type></api:param></api:params><api:return>ValueIterator</api:return><api:privilege>
<p xmlns="http://www.w3.org/1999/xhtml"><code>http://marklogic.com/xdmp/privileges/xdmp-invoke</code></p>
</api:privilege><api:example><pre xml:space="preserve" xmlns="http://www.w3.org/1999/xhtml">
  function test29197(uri,doc) {
    return {
      setUri: function setUri(_uri) { uri = _uri; },
      setDoc: function setDoc(_doc) { doc = _doc; },
      insert: function docInsert() { xdmp.documentInsert(uri,doc); }
    };
  };
  var testInvoke = test29197("29197.json",{a:1});
  xdmp.invokeFunction(testInvoke.insert,
    {transactionMode:"update-auto-commit"});
  xdmp.eval("cts.doc('29197.json')");

  =&gt; Insert a doc and then retrieve it. Returns:
     {"a":1}
  </pre>
</api:example></api:function></api:function-page>