【发布时间】:2017-12-06 07:10:35
【问题描述】:
这段代码通过了流检查:
/* @flow */
function test (list: ?Array<string>): Promise<number> {
if(list !== null && list !== undefined) {
return Promise.resolve(list.length)
} else {
return Promise.resolve(0)
}
}
console.log(test(null))
而以下得到一个空检查错误
/* @flow */
function test (list: ?Array<string>): Promise<number> {
if(list !== null && list !== undefined) {
return Promise.resolve().then(() => list.length)
} else {
return Promise.resolve(0)
}
}
console.log(test(null))
错误:
property `length`. Property cannot be accessed on possibly null value
显然列表不能是null,所以代码结构一定有一些东西让flow无法识别它。
我想了解我遇到了什么限制以及如何解决它。谢谢!
【问题讨论】:
标签: flowtype