Godot中HTTPRequest触发is_inside_tree报错ERR_UNCONFIGURED求助
解决Godot中HTTPRequest的ERR_UNCONFIGURED错误
错误原因
你遇到的Condition "!is_inside_tree() is true. Returning ERR_UNCONFIGURED"错误,核心原因是通过HTTPRequest.new()创建的节点未被添加到场景树中。Godot的HTTPRequest组件必须属于场景树才能正常发起网络请求。
修复方案
在调用request()方法前,先将创建的HTTPRequest节点添加到当前节点的子节点列表中,请求完成后可按需移除该节点以释放资源。
修改后的代码如下:
extends Node var globalJsonConfig = "Initial" var loading = false func getConfiguration(): var http_request = HTTPRequest.new() http_request.request_completed.connect(_response_parse) # 将HTTPRequest节点添加到场景树 add_child(http_request) if loading == false: loading = true globalJsonConfig = "Loading.." http_request.request("https://MY_URL.COM/config.json") return globalJsonConfig # 请求完成时调用 func _response_parse(result, response_code, headers, body): var jsonLib = JSON.new() var json = jsonLib.parse(body.get_string_from_utf8()) globalJsonConfig = json.body print("Loaded") # 请求完成后移除节点,避免无用资源占用 sender.queue_free()
额外说明
- 错误仅出现一次是因为
loading变量设为true后,后续不会再进入请求逻辑 sender.queue_free()直接通过信号发送者引用清理节点,写法更简洁
内容的提问来源于stack exchange,提问作者Tyralcori
相关产品推荐
相关产品推荐

