2015-07-03 19 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/中的规格。

所以回答您的详细问号问题: