HarmonyOS 鸿蒙Next taskpool 函数 Map<string, DataValue>,DataValue取值Throw error: is not callable

发布于 1周前 作者 eggper 来自 鸿蒙OS

HarmonyOS 鸿蒙Next taskpool 函数 Map<string, DataValue>,DataValue取值Throw error: is not callable

public asyncWork(runParam: Map<string, DataValue>) {
    let task1 = new taskpool.Task(task, runParam)
    taskpool.execute(task1)
}

@Concurrent
function task(runParam: Map<string, DataValue>) {
    let dataValue: DataValue = runParam.get(Const.WebSocketConn)
    let url: string = dataValue.getStringValue()
}

dataValue.getStringValue() 这行代码 报错 Throw error: is not callable


更多关于HarmonyOS 鸿蒙Next taskpool 函数 Map<string, DataValue>,DataValue取值Throw error: is not callable的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

默认的class数据拷贝会丢失原class的属性和方法。只有new出来的方法都不会丢失。

所以建议使用第三方工具类class-transformer中的plainToClassFromExist方法,把第二个参数对象拷贝到第一个参数对象中去。

按你这边的情况使用示例为:

let dataValue:DataValue = plainToClassFromExist(new DataValue(), runParam.get(Const.WebSocketConn));

参考:https://developer.huawei.com/consumer/cn/blog/topic/03151854787432021

更多关于HarmonyOS 鸿蒙Next taskpool 函数 Map<string, DataValue>,DataValue取值Throw error: is not callable的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,taskpool函数中的Map<string, DataValue>类型数据在取值时抛出Throw error: is not callable错误,通常是因为尝试调用了一个不可调用的对象。DataValue可能是一个复杂的数据结构,直接调用它可能会导致此错误。确保在访问DataValue时,使用正确的方法或属性,而不是尝试调用它。检查代码中是否有类似DataValue()的调用,并确保使用正确的访问方式,如DataValue.propertyDataValue.method()

在HarmonyOS鸿蒙Next的taskpool中,Map<string, DataValue>DataValue取值时抛出"is not callable"错误,通常是因为尝试调用了一个不可调用的对象。请确保DataValue是一个可调用的函数或方法,而不是一个普通的值或对象。检查代码中是否正确处理了DataValue的类型和调用方式,避免直接对非函数类型进行调用操作。

回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!