1. 程式人生 > >LayaAir之Promise

LayaAir之Promise

some date ring ise .get return json lee pre

測試環境 : LayaAir1.7.19 , 其實在2.0中也是一樣的.

一 : 加入Promise環境

① , 找到tsconfig.json , 可以看到配置如下:
技術分享圖片
② , 加入配置

    "lib":[
      "es5",
      "dom",
      "es2015.promise"
    ]

如下:
技術分享圖片

二 : 測試

核心代碼:

    private sleep(numberMillis : number)  : void { 
        let now : Date = new Date(); 
        let exitTime : number = now.getTime() + numberMillis; 
        while (true) { 
            now = new Date(); 
            if (now.getTime() > exitTime) 
            return; 
        } 
    }
    private  timeout() : void{
        console.log(`等到5秒`);
        this.sleep(5000);
    }

    private async getSomething( $name : string ) : Promise<string>{
        console.log(`開始執行異步函數`);
        await this.timeout();
        return $name;
    } 

調用代碼:

        this.getSomething(`Aonaufly`).then( ($str : string) : void => {
            console.log(`獲得異步信息 : ${$str}`);
        } );

三:結果

技術分享圖片

LayaAir之Promise