2015-07-03 25 views
3
static setItem(key: string, value: string, callback?: ?(error: ?Error) => void) 

這是AsyncStorage中setitem的聲明。第三個參數是回調。有人可以在這裏解釋使用問號的情況嗎?我很熟悉如何使用承諾,但無法得到問號的處理。回調中的問號

回答

6

AsyncStorage使用流 - Facebook的開源靜態類型檢查器。您會在文件的開頭找到@flow並標記啓用流的源。 Flow對變量類型(包括自動類型推斷)進行了大量檢查,但它也允許您指定變量和參數的類型。在上面的例子中,'key:string'表示鍵應該是字符串類型(它不是一個有效的javascript構造 - 你不能在javascript中指定類型)。 React內置了轉換器,將其轉換爲純javascript(因此所有類型都被剝離),但在這之前,流將檢查類型是否正確傳遞,並找到傳遞null或undefined的內容,並稍後將其用作對象和其他檢查。您可以閱讀http://flowtype.org/中的規格。

所以回答您的詳細問號問題: