Typescript 在嵌套函数中获取结果
请告诉我,如何从函数go()获得结果 获取错误应为1个参数,但获取了0Typescript 在嵌套函数中获取结果,typescript,imodeljs,Typescript,Imodeljs,请告诉我,如何从函数go()获得结果 获取错误应为1个参数,但获取了0 export const Block: React.FC<iModel> = () => { const go = (imodel: IModelConnection) => { const executeQuery = async (query: string) => { const rows = [] for aw
export const Block: React.FC<iModel> = () => {
const go = (imodel: IModelConnection) => {
const executeQuery = async (query: string) => {
const rows = []
for await (const row of imodel.query(query)) rows.push(row)
return rows
}
const getAllCamerasData = async (): Promise<CompositionItemQueryRow[]> => {
const query = "select ca.ecinstanceid as id, ca.link as cameralink, pho.origin as coordinates from DgnCustomItemTypes_Camera. CameraElementAspect ca join BisCore. ElementOwnsMultiAspects ema on ca.ecinstanceid=ema.targetecinstanceid join generic.physicalobject pho on ema.sourceecinstanceid=pho.ecinstanceid"
const rows = await executeQuery(query)
// console.log(rows)
return rows as CompositionItemQueryRow[]
}
return getAllCamerasData()
}
let camsDat= go()
导出常量块:React.FC=()=>{
const go=(imodel:IModelConnection)=>{
const executeQuery=async(查询:字符串)=>{
常量行=[]
用于wait(imodel.query(query)的const行)rows.push(row)
返回行
}
const getAllCamerasData=async():Promise=>{
const query=“选择ca.ecinstanceid作为id,ca.link作为cameralink,pho.origin作为DgnCustomItemTypes\u Camera.CameraElementAspect ca join BisCore.ElementOwnsMultiAspects ema on ca.ecinstanceid=ema.TargetInstanceId join generic.physicalobject pho on ema.sourceecinstanceid=pho.ecinstanceid”
常量行=等待执行(查询)
//console.log(行)
以CompositionItemQueryRow[]的形式返回行
}
返回getAllCamerasData()
}
让camsDat=go()
我应该提出什么论点?
如果我通过
让camsDat=go(imodel)
您是否省略了代码中的一些重要部分
- 您将
函数定义为接受一个参数,但传递了零;这是对go
预期1个参数的错误的解释
- 您定义的唯一名为
的变量是imodel
函数的参数,当您分配给go
时,该变量不可访问;这解释了camsDat
找不到名称“imodel”的错误