[samples] update loader sample
This commit is contained in:
@@ -30,15 +30,18 @@ class ProvideMacro {
|
||||
case ComplexType.TPath(p): p.name;
|
||||
default: null;
|
||||
}
|
||||
var isStatic = Lambda.exists(field.access, function(a: Access) return a == AStatic);
|
||||
result.push({
|
||||
name: field.name,
|
||||
access: [Access.APublic],
|
||||
access: isStatic ? [Access.APublic, Access.AStatic] : [Access.APublic],
|
||||
pos: field.pos,
|
||||
kind: FieldType.FProp('get', 'set', type)
|
||||
});
|
||||
var access = [Access.APrivate, Access.AInline];
|
||||
if (isStatic) access.push(Access.AStatic);
|
||||
result.push({
|
||||
name: 'get_${field.name}',
|
||||
access: [Access.APrivate, Access.AInline],
|
||||
access: access,
|
||||
pos: field.pos,
|
||||
kind: FieldType.FFun({
|
||||
args: [],
|
||||
@@ -49,7 +52,7 @@ class ProvideMacro {
|
||||
});
|
||||
result.push({
|
||||
name: 'set_${field.name}',
|
||||
access: [Access.APrivate, Access.AInline],
|
||||
access: access,
|
||||
pos: field.pos,
|
||||
kind: FieldType.FFun({
|
||||
args: [{name: 'value', type: type}],
|
||||
|
||||
@@ -2,13 +2,11 @@ package haxework.net;
|
||||
|
||||
import promhx.Deferred;
|
||||
import promhx.Promise;
|
||||
//import flash.utils.JSON;
|
||||
import haxe.Json;
|
||||
import haxe.Timer;
|
||||
import flash.net.URLRequestMethod;
|
||||
import flash.events.ProgressEvent;
|
||||
import haxework.net.manage.ILoaderManager;
|
||||
import haxework.provider.Provider;
|
||||
import flash.utils.ByteArray;
|
||||
import flash.events.Event;
|
||||
|
||||
@@ -32,7 +30,9 @@ class BaseLoader<T> extends Deferred<T> implements ILoader<T> {
|
||||
private var data:Null<Dynamic>;
|
||||
private var timer:Timer;
|
||||
|
||||
public function new(?timeout = 0) {
|
||||
@:provide private var manager:ILoaderManager;
|
||||
|
||||
public function new(timeout = 0) {
|
||||
super();
|
||||
this.timeout = timeout;
|
||||
busy = false;
|
||||
@@ -50,7 +50,7 @@ class BaseLoader<T> extends Deferred<T> implements ILoader<T> {
|
||||
var url:String = this.url;
|
||||
//L.d(TAG, "Request: " + prepareUrl(url));
|
||||
//internalRequest(prepareUrl(url));
|
||||
Provider.get(ILoaderManager).add(this);
|
||||
manager.add(this);
|
||||
}
|
||||
return this.promise();
|
||||
}
|
||||
@@ -79,6 +79,7 @@ class BaseLoader<T> extends Deferred<T> implements ILoader<T> {
|
||||
return this.promise();
|
||||
}
|
||||
|
||||
#if (openfl && lime)
|
||||
private function fromAssets(url:String):Promise<T> {
|
||||
try {
|
||||
var path:String = url.substring(9);
|
||||
@@ -105,6 +106,7 @@ class BaseLoader<T> extends Deferred<T> implements ILoader<T> {
|
||||
return this.promise();
|
||||
}
|
||||
}
|
||||
#end
|
||||
|
||||
public function GET(url:String, data:Dynamic = null):Promise<T> {
|
||||
#if (openfl && lime)
|
||||
@@ -178,7 +180,7 @@ class BaseLoader<T> extends Deferred<T> implements ILoader<T> {
|
||||
data = null;
|
||||
busy = false;
|
||||
completed = Math.NaN;
|
||||
Provider.get(ILoaderManager).release(this);
|
||||
manager.release(this);
|
||||
}
|
||||
|
||||
public function cancel():Void {
|
||||
|
||||
@@ -8,10 +8,10 @@ class LoaderManager implements ILoaderManager {
|
||||
public var queue(default, null):Array<ILoader<Dynamic>>;
|
||||
public var limit(default, default):Int;
|
||||
|
||||
public function new() {
|
||||
public function new(limit:Int = 10) {
|
||||
queue = new Array<ILoader<Dynamic>>();
|
||||
actives = new Array<ILoader<Dynamic>>();
|
||||
limit = 10;
|
||||
this.limit = limit;
|
||||
}
|
||||
|
||||
public function add(loader:ILoader<Dynamic>):Void {
|
||||
@@ -33,4 +33,4 @@ class LoaderManager implements ILoaderManager {
|
||||
run(queue.shift());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user