2016-08-02 33 views
1

一个字符串,我可以接受一个数组或一个字符串的函数:允许函数接受一个数组或流

/* @flow */ 
type Product = Array<string> | string 

function printProducts(product: Product) { 
    if (product.constructor === 'array') { 
     product.map(p => console.log(p)) 
    } else { 
     console.log(product) 
    } 
} 

流量抱怨“属性Map没有找到字符串”。我如何改变我的类型定义来满足这个?支持dynamic type tests

回答

3

使用一个,在这种情况下Array.isArray

/* @flow */ 
type Product = Array<string> | string 

function printProducts(product: Product) { 
    if (Array.isArray(product)) { 
     product.map(p => console.log(p)) 
    } else { 
     console.log(product) 
    } 
} 
相关问题