發表文章

目前顯示的是有「TypeScript」標籤的文章

TypeScript Async相容測試

圖片
前言    前幾天與同事在測試某段javascript時,看到 async關鍵字,心想怎麼前端會有這種東東,可以執行非同步....,Google一下後,才知道在ECMA 2017就開始支援了..。 目前的專案使用的是TypeScript+ECMA 5.0,不敢冒然升級ECMA 6+ ~ 2021,因為有年代久遠的裝置,要考慮其相容性。   在不想升級ECMA,又想使用async 等ECMA新功能,該怎麼辨? 別擔心! 舞照跳、酒照喝XD,TypeScript的編譯器會幫你搞定一切,接下來的測試,會說明。 測試 TypeScript - 原始版本 :程式碼會往後端呼叫3次,等每次呼叫完,才會執行下一個     Lab() {             console.log("Lab-Start");             this.AllFunctionsService.GetFunctions((response) => {                 console.log("  Lab-GetFunctions 1");                 this.AllFunctionsService.GetFunctions((response) => {                     console.log("  Lab-GetFunctions 2");                     this.AllFunctionsService.GetFunctions((response) => {         ...

停用TypeScript Complie加快建置速度

圖片
前言         目前的專案由於架構的關係,切分了很多TypeScript檔案,差不多是一個model,service,controller甚至連一個dto就是一個檔案。統計一下約1000個檔案左右。 由於切分了太多檔案,以致於每次在建置時因為TypeScript也會連帶建置而耗費很多時間,今天仔細給它用計時器來看,約要30秒左右...。    在一般狀況下,撰寫完TypeScript時,按下Save就會輸出.js檔,而在建置時又會輸出一次,後者好像在某些狀況不一定需要。例如:本機的999個.ts皆已輸出.js ,而此次只有修改單一個typescript,所以就不需要在建置時全部產生一次。

[Type Script] this 相關問題解決

圖片
關於TypeScript在類別內若要使用類別內的方法或全域屬性,我們會透過this來存取,如下圖,在NewModel方法內透過this存取屬性 問題1.在function內的this無法取得全域屬性 如下紅框,此時的this代表的是function本身