can
Version:
MIT-licensed, client-side, JavaScript framework that makes building rich web applications easy.
1,108 lines (640 loc) • 24.5 kB
HTML
<!--####################################################################
THIS IS A GENERATED FILE -- ANY CHANGES MADE WILL BE OVERWRITTEN
INSTEAD CHANGE:
source: [object Object]
@function can-connect/fall-through-cache/fall-through-cache.getListData
######################################################################## -->
<html lang="en">
<head>
<meta charset="utf-8">
<title>CanJS - getListData</title>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<link rel="stylesheet" type="text/css" href="../../static/bundles/bit-docs-site/static.css">
<link rel="shortcut icon" sizes="16x16 24x24 32x32 48x48 64x64" href="/docs/images/canjs_favicon.ico">
<link rel="apple-touch-icon" sizes="57x57" href="../../../docs/images/canjs_favicon_57x57.png">
<link rel="apple-touch-icon-precomposed" sizes="57x57" href="../../../docs/images/canjs_favicon_57x57.png">
<link rel="apple-touch-icon" sizes="72x72" href="../../../docs/images/canjs_favicon_72x72.png">
<link rel="apple-touch-icon" sizes="114x114" href="../../../docs/images/canjs_favicon_114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="../../../docs/images/canjs_favicon_128x128.png">
<link rel="apple-touch-icon" sizes="144x144" href="../../../docs/images/canjs_favicon_144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="../../../docs/images/canjs_favicon_152x152.png">
<meta content="yes" name="apple-mobile-web-app-capable">
<meta name="apple-mobile-web-app-status-bar-style" content="white-translucent">
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-2302003-11', 'auto');
ga('send', 'pageview');
</script>
</head>
<body>
<input type="checkbox" id="nav-trigger" class="nav-trigger"/>
<label for="nav-trigger">Menu</label>
<div id="everything">
<div id="left" class="column">
<div class="top-left">
<div class="brand">
<div class="logo">
<a href="../../../index.html" alt="CanJS"></a>
<div class="dropdown project-dropdown">
<a href="https://donejs.com/">DoneJS</a>
<a href="http://stealjs.com/">StealJS</a>
<a href="http://jquerypp.com/">jQuery ++</a>
<a href="https://funcunit.com/">FuncUnit</a>
<a href="http://documentjs.com/">DocumentJS</a>
</div>
</div>
<div class="version">
<div class="version-number">
3.0.0
</div>
<div class="dropdown version-dropdown">
<a href="https://v2.canjs.com">2.3.27</a>
</div>
</div>
</div>
<div class="search-bar">
<p>
</p>
</div>
</div>
<div class="bottom-left">
<div class="social-side-container">
<ul class="social-side">
<li>
<a class="header-mobile github" href="https://github.com/canjs/canjs" target="_blank"><img class="social-icon-small" src="../../../docs/images/github.png">Github</a>
</li>
<li>
<a class="header-mobile twitter" href="https://twitter.com/canjs" target="_blank"><img class="social-icon-small" src="../../../docs/images/twitter.png">Twitter</a>
</li>
</ul>
<ul class="social-side">
<li>
<a class="header-mobile" href="https://gitter.im/canjs/canjs" target="_blank">Chat</a>
</li>
<li>
<a class="header-mobile" href="http://forums.donejs.com/c/canjs" target="_blank">Forum</a>
</li>
</ul>
</div>
<ul>
<li class="
">
<a class="page"
href="../../guides.html"
title="Welcome to CanJS! These guides are here to help you develop and improve your relationship with CanJS. After all, picking a JavaScript framework is a commitment. We want CanJS to be the
framework you marry. This page helps you know how advance through the different stages of this
relationship:">
Guides
</a>
</li>
<li class="
parent
expanded">
<a class="page"
href="../../can-core.html"
title="The best, most hardened and generally useful libraries in CanJS.">
Core
</a>
<ul>
<li class="
">
<a class="module"
href="../../can-component.html"
title="Create a custom element that can be used to manage widgets or application logic.">
can-component
</a>
</li>
<li class="
">
<a class="module"
href="../../can-compute.html"
title="Create an observable value.">
can-compute
</a>
</li>
<li class="
parent
expanded">
<a class="module"
href="../../can-connect.html"
title="can-connect provides persisted data middleware. Use it to assemble powerful model layers for any JavaScript project.">
can-connect
</a>
<ul>
<li>
<span>behaviors</span>
<ul>
<li class="
">
<a class="module"
href="../base/base.html"
title="The base behavior added to every connect behavior.">
./base/
</a>
</li>
<li class="
">
<a class="module"
href="../cache-requests/cache-requests.html"
title="Caches reponse data and uses it to prevent future requests or make future requests smaller.">
./cache-requests/
</a>
</li>
<li class="
">
<a class="module"
href="../can/map/map.html"
title="Make a connection use a map type.">
./can/map/
</a>
</li>
<li class="
">
<a class="module"
href="../can/ref/ref.html"
title="Handle references to instances in the raw data returned by the server.">
./can/ref/
</a>
</li>
<li class="
">
<a class="module"
href="../constructor/callbacks-once/callbacks-once.html"
title="Prevents unecessary calls to the instance callback methods.">
./constructor/callbacks-once/
</a>
</li>
<li class="
">
<a class="module"
href="../constructor/constructor.html"
title="Adds the ability to operate on special types instead of plain JavaScript Objects
and Arrays.">
./constructor/
</a>
</li>
<li class="
">
<a class="module"
href="../constructor/store/store.html"
title="Supports saving and retrieving lists and instances in a store.">
./constructor/store/
</a>
</li>
<li class="
">
<a class="module"
href="../data/callbacks/callbacks.html"
title="Calls callback methods as a result of raw DataInterface requests.">
./data/callbacks/
</a>
</li>
<li class="
">
<a class="module"
href="../data/callbacks-cache/callbacks-cache.html"
title="Callback base.cacheConnection methods when data interface callbacks
are called.">
./data/callbacks-cache/
</a>
</li>
<li class="
">
<a class="module"
href="../data/combine-requests/combine-requests.html"
title="Combines multiple incoming requests into one if possible.">
./data/combine-requests/
</a>
</li>
<li class="
">
<a class="module"
href="../data/localstorage-cache/localstorage-cache.html"
title="Saves raw data in localStorage.">
./data/localstorage-cache/
</a>
</li>
<li class="
">
<a class="module"
href="../data/memory-cache/memory-cache.html"
title="Saves raw data in JavaScript memory that disappears when the page refreshes.">
./data/memory-cache/
</a>
</li>
<li class="
">
<a class="module"
href="../data/parse/parse.html"
title="Extract response data into a format needed for other extensions.">
./data/parse/
</a>
</li>
<li class="
">
<a class="module"
href="../data/url/url.html"
title="">
./data/url/
</a>
</li>
<li class="
">
<a class="module"
href="../data/worker/worker.html"
title="Connects a connection to another connection in a worker thread.">
./data/worker/
</a>
</li>
<li class="
parent
expanded">
<a class="module"
href="fall-through-cache.html"
title="A fall through cache that checks another cacheConnection.">
./fall-through-cache/
</a>
<ul>
<li>
<span>hydrators</span>
<ul>
<li class="
">
<a class="function"
href="fall-through-cache.hydrateInstance.html"
title="Returns an instance given raw data.">
hydrateInstance
</a>
</li>
<li class="
">
<a class="function"
href="fall-through-cache.hydrateList.html"
title="Returns a List instance given raw data.">
hydrateList
</a>
</li>
</ul>
</li>
<li>
<span>data callbacks</span>
<ul>
<li class="
">
<a class="function"
href="fall-through-cache.getData.html"
title="Get raw data from the cache if available, and then update
the instance later with data from the base connection.">
getData
</a>
</li>
<li class="current
parent
expanded">
<a class="function"
href="fall-through-cache.getListData.html"
title="Get raw data from the cache if available, and then update
the list later with data from the base connection.">
getListData
</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="
">
<a class="module"
href="../real-time/real-time.html"
title="Update lists to include or exclude instances based
on set logic.">
./real-time/
</a>
</li>
</ul>
</li>
<li>
<span>modules</span>
<ul>
<li class="
">
<a class="module"
href="../can/base-map/base-map.html"
title="Create connection with many of the best behaviors in can-connect and hook it up to
a map.">
./can/base-map/
</a>
</li>
<li class="
">
<a class="module"
href="../can/model/model.html"
title="Exports a constructor that works very similar to can.Model.">
./can/model/
</a>
</li>
<li class="
">
<a class="module"
href="../can/super-map/super-map.html"
title="Create connection with many of the best behaviors in can-connect and hook it up to
a map.">
./can/super-map/
</a>
</li>
<li class="
">
<a class="module"
href="../can/tag/tag.html"
title="Makes either getList or getInstance">
./can/tag/
</a>
</li>
<li class="
">
<a class="module"
href="../helpers/weak-reference-map.html"
title="Provides a map that only contains keys that are referenced.">
./helpers/weak-reference-map
</a>
</li>
</ul>
</li>
<li>
<span>data types</span>
<ul>
<li class="
">
<a class="typedef"
href="../DataInterface.html"
title="The most common raw data methods.">
DataInterface
</a>
</li>
<li class="
">
<a class="typedef"
href="../Instance.html"
title="An instance of some JavaScript type.">
Instance
</a>
</li>
<li class="
">
<a class="typedef"
href="../InstanceInterface.html"
title="">
InstanceInterface
</a>
</li>
<li class="
">
<a class="typedef"
href="../../can-connect.List.html"
title="A list type.">
List
</a>
</li>
<li class="
">
<a class="typedef"
href="../../can-connect.listData.html"
title="The data format used to create typed lists.">
ListData
</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="
">
<a class="module"
href="../../can-define.html"
title="Exports the define method that defines observable properties and their behavior on a prototype object.">
can-define
</a>
</li>
<li class="
">
<a class="module"
href="../../can-define/list/list.html"
title="Create observable lists.">
can-define/list/list
</a>
</li>
<li class="
">
<a class="module"
href="../../can-define/map/map.html"
title="Create observable objects.">
can-define/map/map
</a>
</li>
<li class="
">
<a class="function"
href="../../can-route.html"
title="Manage browser history and client state by synchronizing the window.location.hash with a map.">
can-route
</a>
</li>
<li class="
">
<a class="module"
href="../../can-route-pushstate.html"
title="Changes can-route to use pushstate
to change the window's pathname instead
of the hash.
var route = require("can-route-pushstate");
route("{page}", { page: "home" });
route.ready();
route.attr("page", "user");
location.pathname; // -> "/user"">
can-route-pushstate
</a>
</li>
<li class="
">
<a class="module"
href="../../can-set.html"
title="can-set is a utility for comparing sets that are represented by the parameters commonly passed to service requests.">
can-set
</a>
</li>
<li class="
">
<a class="module"
href="../../can-stache.html"
title="Live binding Mustache and Handlebars-compatible templates.">
can-stache
</a>
</li>
<li class="
">
<a class="module"
href="../../can-stache/helpers/route.html"
title="Adds stache helpers that use can-route.">
can-stache/helpers/route
</a>
</li>
<li class="
">
<a class="module"
href="../../can-stache-bindings.html"
title="Provides template event, one-way, and two-way bindings.">
can-stache-bindings
</a>
</li>
</ul>
</li>
<li class="
">
<a class="page"
href="../../can-ecosystem.html"
title="Useful libraries that extend or add important features to the core collection.">
Ecosystem
</a>
</li>
<li class="
">
<a class="page"
href="../../can-infrastructure.html"
title="Utility libraries that power the core and ecosystem collection.">
Infrastructure
</a>
</li>
<li class="
">
<a class="page"
href="../../can-legacy.html"
title="Former libraries that we still accept patches for, but are not under active development.">
Legacy
</a>
</li>
</ul>
</div>
</div>
<div id="right" class="column">
<div class="top-right">
<div class="top-right-top">
<ul class="top-right-bitovi">
<li class="dropdown">
<a href="http://bitovi.com" class="bitovi icon-bits">Bitovi</a>
<ul class="dropdown-menu">
<li><a href="http://bitovi.com">Bitovi.com</a></li>
<li><a href="http://bitovi.com/blog/">Blog</a></li>
<li><a href="http://bitovi.com/consulting/">Consulting</a></li>
<li><a href="http://bitovi.com/training/">Training</a></li>
<li><a href="http://bitovi.com/open-source/">Open Source</a></li>
</ul>
</li>
</ul>
<div class="brand">
<div class="logo">
<a href="../../../index.html" alt="CanJS"></a>
</div>
</div>
<ul class="top-right-links">
<li>
<a href="https://gitter.im/canjs/canjs">Chat</a>
</li>
<li>
<a href="http://forums.donejs.com/c/canjs">Forum</a>
</li>
<li>
<a class="github-button nav-social" href="https://github.com/canjs/canjs" data-count-href="/canjs/canjs/stargazers" data-count-api="/repos/canjs/canjs#stargazers_count">Star</a>
</li>
<li>
<a href="https://twitter.com/canjs" class="twitter-follow-button nav-social" data-show-count="true" data-show-screen-name="false">Follow @canjs</a><script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
</li>
</ul>
</div>
<div class="breadcrumb">
<li><a href="../../../index.html">CanJS</a></li> /
<li><a href="../../can-core.html">Core</a></li> /
<li><a href="../../can-connect.html">can-connect</a></li> /
<li><a href="fall-through-cache.html">./fall-through-cache/</a></li> /
<li><a href="fall-through-cache.getListData.html">getListData</a></li>
<li class="breadcrumb-dropdown">/ <a> On this page</a>
<ul class="on-this-page"></ul>
</li>
<div class="nav-toggle" title="Back to top"></div>
</div>
</div>
<div class="bottom-right">
<article>
<section class="title">
<div class="page-type">
<h1>getListData</h1>
<div>function</div>
</div>
<section class="description">
<p>Get raw data from the cache if available, and then update
the list later with data from the base connection.</p>
</section>
</section>
<section class="on-this-page-table">
</section>
<section class="title-footer">
<ul class="title-links">
<!-- <li><a href="#">docco</a></li> -->
<li><a href="//github.com/canjs/can-connect/tree/v1.0.11/fall-through-cache/fall-through-cache.js#L115">source</a></li>
<!-- <li><a href="#">download</a></li> -->
<!-- <li><a href="#">tests</a></li> -->
</ul>
</section>
<div class="signature">
<h2 class="signature-title">
<code>connection.getListData(set)</code>
</h2>
<p>Checks the <a href="../base/base.cacheConnection.html" title="A connection used for caching.">cacheConnection</a> for <code>set</code>'s data.</p>
<p>If the cache connection has data, the cached data is returned. Prior to
returning the data, the <a href="../constructor.hydrateList.html" title="Makes a list type object given raw data.">hydrateList</a> method
is intercepted so we can get a handle on the list that's being created
for the returned data. Once the intercepted list is retrieved,
we use the base connection to get data and update the intercepted list and
the cacheConnection.</p>
<p>If the cache connection does not have data, the base connection
is used to load the data and the cached connection is updated with that
data.</p>
<div class="parameters">
<h3 class="parameters-title">Parameters</h3>
<ol>
<li><b>set</b> <code>{<a href="../../can-set/Set.html" title="An object that represents a set of data.">Set</a>}</code>: <p>The set to load.</p>
</li>
</ol>
</div>
<div class="returns">
<h3 class="returns-title">Returns</h3>
<p> <code>{Promise<<a href="../../can-connect.listData.html" title="The data format used to create typed lists.">ListData</a>>}</code>: <p>A promise that returns the
raw data.</p>
</p>
</div>
</div>
<section class="body">
</section>
<script type="text/javascript">
var docObject = {"src":{"line":115,"codeLine":142,"path":"node_modules/can-connect/fall-through-cache/fall-through-cache.js"},"type":"function","description":"\nGet raw data from the cache if available, and then update\nthe list later with data from the base connection.\n","title":"getListData","name":"can-connect/fall-through-cache/fall-through-cache.getListData","parent":"can-connect/fall-through-cache/fall-through-cache.data","signatures":[{"code":"connection.getListData(set)","description":"\n\n Checks the [can-connect/base/base.cacheConnection] for `set`'s data.\n\n If the cache connection has data, the cached data is returned. Prior to\n returning the data, the [can-connect/constructor.hydrateList] method\n is intercepted so we can get a handle on the list that's being created\n for the returned data. Once the intercepted list is retrieved,\n we use the base connection to get data and update the intercepted list and\n the cacheConnection.\n\n If the cache connection does not have data, the base connection\n is used to load the data and the cached connection is updated with that\n data.\n","params":[{"types":[{"type":"can-set/Set"}],"name":"set","description":"The set to load.\n"}],"returns":{"types":[{"type":"Promise","template":[{"types":[{"type":"can-connect.listData"}]}]}],"description":"A promise that returns the\nraw data.\n\t "}}],"_curParam":{"types":[{"type":"can-set/Set"}],"name":"set","description":"The set to load.\n"},"_curReturn":{"types":[{"type":"Promise","template":[{"types":[{"type":"can-connect.listData"}]}]}],"description":"A promise that returns the\nraw data.\n\t "},"pathToRoot":"../../.."};
</script>
</article>
<footer><p>CanJS is part of <a href="http://donejs.com" target="_blank">DoneJS</a>. Created and maintained by the core <a href="https://donejs.com/About.html#section=section_Team" target="_blank">DoneJS team</a> and <a href="http://bitovi.com" target="_blank">Bitovi</a>. <strong>Currently 3.0.0.</strong></p></footer>
</div>
</div>
</div>
<script>
steal = {
instantiated: {
"bundles/bit-docs-site/static.css!$css" : null
}
};
</script>
<script type='text/javascript' data-main="bit-docs-site/static" src="../../static/node_modules/steal/steal.production.js"></script>
<script async defer src="https://buttons.github.io/buttons.js"></script>
</body>
</html>