Class: BasicLoader

BasicLoader

new BasicLoader()

基础的资源加载类

Fires:
  • event:beforeload loaded failed
  • event:beforeload 加载前事件
  • event:loaded 加载事件
  • event:failed 失败事件
  • event:progress 进度事件
Example
var loader = new Hilo3d.BasicLoader();
loader.load({
    src: '//img.alicdn.com/tfs/TB1aNxtQpXXXXX1XVXXXXXXXXXX-1024-1024.jpg',
    crossOrigin: true
}).then(img => {
    return new Hilo3d.Texture({
        image: img
    });
}, err => {
    return new Hilo3d.Color(1, 0, 0);
}).then(diffuse => {
    return new Hilo3d.BasicMaterial({
        diffuse: diffuse
    });
});

Mixes In

Members Show Inherited

Name Type Default Description
isBasicLoader boolean true
className string BasicLoader

Methods Show Inherited

load(data){Promise.<any, Error>}

加载资源,这里会自动调用 loadImg 或者 loadRes

Name Type Description
data object

参数

Name Type Description
src string

资源地址

type string optional

资源类型(img, json, buffer),不提供将根据 data.src 来判断类型

Returns:
Type Description
Promise.<any, Error> 返回加载完的资源对象

isCrossOrigin(url){boolean}

判断链接是否跨域,无法处理二级域名,及修改 document.domain 的情况

Name Type Description
url string

需要判断的链接

Returns:
Type Description
boolean 是否跨域

loadImg(url, crossOrigin){Promise.<HTMLImageElement, Error>}

加载图片

Name Type Default Description
url string

图片地址

crossOrigin boolean false optional

是否跨域

Returns:
Type Description
Promise.<HTMLImageElement, Error> 返回加载完的图片

loadRes(url, type){Promise.<Object, Error>}

使用XHR加载其他资源

Name Type Default Description
url string

资源地址

type string text optional

资源类型(json, buffer, text)

Returns:
Type Description
Promise.<Object, Error> 返回加载完的内容对象(Object, ArrayBuffer, String)

request(opt){Promise.<Object, Error>}

XHR资源请求

Name Type Description
opt object

请求参数

Name Type Default Description
url string

资源地址

type string text optional

资源类型(json, buffer, text)

method string GET optional

请求类型(GET, POST ..)

headers object optional

请求头参数

body string optional

POST请求发送的数据

Returns:
Type Description
Promise.<Object, Error> 返回加载完的内容对象(Object, ArrayBuffer, String)

on(type, listener, once){any}

增加一个事件监听。

Name Type Description
type String

要监听的事件类型。

listener EventMixinCallback

事件监听回调函数。

once Boolean optional

是否是一次性监听,即回调函数响应一次后即删除,不再响应。

Returns:
Type Description
any 对象本身。链式调用支持。

off(type, listener){any}

删除一个事件监听。如果不传入任何参数,则删除所有的事件监听;如果不传入第二个参数,则删除指定类型的所有事件监听。

Name Type Description
type String optional

要删除监听的事件类型。

listener EventMixinCallback optional

要删除监听的回调函数。

Returns:
Type Description
any 对象本身。链式调用支持。

fire(type, detail){Boolean}

发送事件。当第一个参数类型为Object时,则把它作为一个整体事件对象。

Name Type Description
type String | EventObject optional

要发送的事件类型或者一个事件对象。

detail Object optional

要发送的事件的具体信息,即事件随带参数。

Returns:
Type Description
Boolean 是否成功调度事件。