Javascript 如何将json响应传递给函数:类型为';未知';不可分配给类型为';任何[]和#x27;

Javascript 如何将json响应传递给函数:类型为';未知';不可分配给类型为';任何[]和#x27;,javascript,json,typescript,Javascript,Json,Typescript,我试图使用api中的数据在函数中使用它: //从外部端点获取JSON d3.json('https://api.jsonbin.io/b/5eee6a5397cb753b4d149343,然后(data=>this.drawers(data)); 专用牵引杆(数据:any[]):void{…} 这是因为派生的数据类型是未知的,您正在尝试 将其分配给数组类型的输入 试试下面的方法 专用牵引杆(数据:任意):无效{…}您可以执行以下操作: d3.json('https://api.json

我试图使用api中的数据在函数中使用它:

//从外部端点获取JSON
d3.json('https://api.jsonbin.io/b/5eee6a5397cb753b4d149343,然后(data=>this.drawers(data));
专用牵引杆(数据:any[]):void{…}
这是因为派生的数据类型是未知的,您正在尝试 将其分配给数组类型的输入

试试下面的方法


专用牵引杆(数据:任意):无效{…}

您可以执行以下操作:

    d3.json('https://api.jsonbin.io/b/5eee6a5397cb753b4d149343')
       .then(data => this.drawBars(data as any[]));
或者,如果要确保它是一个数组并避免使用“as”关键字:

    d3.json('https://api.jsonbin.io/b/5eee6a5397cb753b4d149343')
       .then(data => {
           if(Array.isArray(data) {   
               this.drawBars(data)
           } else {
           // throw error or other logic
           }
       );

谢谢@t-MURO“as”完成了这项工作@也许我会推荐使用我发布的第二个解决方案。更安全:)