2017-07-19 90 views
0

我正在閱讀Promise/A +的一些打字稿代碼,以更好地理解內部工作原理。TypeScript()=> void lambda函數,瞭解

我已經擊中了一條線,我無法真正理解。

static nextTickFn: (setTimeoutOrSimilarFn: Function, caller: Promise) => void = (setTimeoutOrSimilarFn: Function) => setTimeout(setTimeoutOrSimilarFn, 0); 

那麼它是如何與(v: F, c: P) => void工作? 以及如何添加等於(v: F, c: P) => void = (v: F) => {}之後?

基本上我認爲=> void是混淆了我的東西,但是有人可以解釋整個方法,以及如何思考它,這將是很好的。

+1

它只是你如何鍵入一個函數,它的一些參數,並且沒有返回: -/ – toskv

+0

對不起,我可能是啞巴,什麼話的這樣做的目的是什麼? – KatsuoRyuu

+0

ups,好吧現在我明白了,所以:和=之間的第一部分就是類型定義... doh ...! – KatsuoRyuu

回答

0

這是你要了解線路:

static nextTickFn: (setTimeoutOrSimilarFn: Function, caller: Promise) => void = (setTimeoutOrSimilarFn: Function) => setTimeout(setTimeoutOrSimilarFn, 0); 

它有三個部分:

static nextTickFn

成員

(setTimeoutOrSimilarFn: Function, caller: Promise) => void

類型的名稱註冊成員

(setTimeoutOrSimilarFn: Function) => setTimeout(setTimeoutOrSimilarFn, 0);

分配給成員

摘要

你有name:annotation = value值。

更多

基本註解https://basarat.gitbooks.io/typescript/content/docs/types/type-system.html

+0

謝謝...基本上我一直在盯着它,因爲它被寫爲var,但它被用作函數。但謝謝澄清。當我意識到時,從字面上感覺很愚蠢:-) – KatsuoRyuu