def execute_resource_async(self, device_id, resource_path, fix_path=True):
        """Execute a function on a resource.

        Will not block. Returns immediately. Usage:

        .. code-block:: python

            a = api.execute_resource_async(device, path)
            while not a.is_done:
                time.sleep(0.1)
            if a.error:
                print("Error", a.error)
            print("Success, returned value:", a.value)

        :param str device_id: The name/id of the device (Required)
        :param str resource_path: The resource path to update (Required)
        :param fix_path: Unused
        :returns: An async consumer object holding reference to request
        :rtype: AsyncConsumer
        """
        if not resource_path.startswith("/"):
            resource_path = "/" + resource_path

        return self._mds_rpc_post(device_id=device_id, method='POST', uri=resource_path)