|
Struts example source code file (DeferredList.js)
The Struts DeferredList.js source code/* Copyright (c) 2004-2006, The Dojo Foundation All Rights Reserved. Licensed under the Academic Free License version 2.1 or above OR the modified BSD license. For more information on Dojo licensing, see: http://dojotoolkit.org/community/licensing.shtml */ dojo.require("dojo.Deferred"); dojo.provide("dojo.DeferredList"); dojo.DeferredList = function (list, fireOnOneCallback, fireOnOneErrback, consumeErrors, canceller) { this.list = list; this.resultList = new Array(this.list.length); this.chain = []; this.id = this._nextId(); this.fired = -1; this.paused = 0; this.results = [null, null]; this.canceller = canceller; this.silentlyCancelled = false; if (this.list.length === 0 && !fireOnOneCallback) { this.callback(this.resultList); } this.finishedCount = 0; this.fireOnOneCallback = fireOnOneCallback; this.fireOnOneErrback = fireOnOneErrback; this.consumeErrors = consumeErrors; var index = 0; var _this = this; dojo.lang.forEach(this.list, function (d) { var _index = index; d.addCallback(function (r) { _this._cbDeferred(_index, true, r); }); d.addErrback(function (r) { _this._cbDeferred(_index, false, r); }); index++; }); }; dojo.inherits(dojo.DeferredList, dojo.Deferred); dojo.lang.extend(dojo.DeferredList, {_cbDeferred:function (index, succeeded, result) { this.resultList[index] = [succeeded, result]; this.finishedCount += 1; if (this.fired !== 0) { if (succeeded && this.fireOnOneCallback) { this.callback([index, result]); } else { if (!succeeded && this.fireOnOneErrback) { this.errback(result); } else { if (this.finishedCount == this.list.length) { this.callback(this.resultList); } } } } if (!succeeded && this.consumeErrors) { result = null; } return result; }, gatherResults:function (deferredList) { var d = new dojo.DeferredList(deferredList, false, true, false); d.addCallback(function (results) { var ret = []; for (var i = 0; i < results.length; i++) { ret.push(results[i][1]); } return ret; }); return d; }}); Other Struts examples (source code examples)Here is a short list of links related to this Struts DeferredList.js source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.