return_of_invalid_type 返回类型“String”不是“void”,由方法“getData”定义

Posted

技术标签:

【中文标题】return_of_invalid_type 返回类型“String”不是“void”,由方法“getData”定义【英文标题】:return_of_invalid_type The return type 'String' isn't a 'void', as defined by the method 'getData' 【发布时间】:2019-10-05 16:27:54 【问题描述】:

错误:返回类型“String”不是“void”,由方法“getData”定义。 (return_of_invalid_type at [todo_app_ui] lib/redis.dart:9)

这是从redis服务器获取数据并放入flutter app的函数。

import 'package:resp_client/resp_client.dart';
import 'package:resp_client/resp_commands.dart';

void getData(key) async 
  final server = await connectSocket('localhost');
  final client = RespClient(server);
  final commands = RespCommands(client);
  final get = await commands.get('test');
  return get;

错误:返回类型“String”不是“void”,由方法“getData”定义。 (return_of_invalid_type at [todo_app_ui] lib/redis.dart:9)

【问题讨论】:

【参考方案1】:

它是如何得到修复的! :

import 'package:resp_client/resp_client.dart';
import 'package:resp_client/resp_commands.dart';

Future<void> getData(key) async 
  final server = await connectSocket('localhost');
  final client = RespClient(server);
  final commands = RespCommands(client);
  final get = await commands.get('test');
  return get;

【讨论】:

因为 'await' 你需要返回一个 Future 是我从中理解的..

以上是关于return_of_invalid_type 返回类型“String”不是“void”,由方法“getData”定义的主要内容,如果未能解决你的问题,请参考以下文章

Kotlin 协程Flow 异步流 ① ( 以异步返回返回多个返回值 | 同步调用返回多个值的弊端 | 尝试在 sequence 中调用挂起函数返回多个返回值 | 协程中调用挂起函数返回集合 )

使用fiddler修改返回值以及返回状态码

Android开发如何点击物理返回键返回上个界面

Javascript:嵌套返回语句,返回内部返回

Android——关于Activity跳转的返回(无返回值和有返回值)——无返回值

JAVA里的函数返回值,可以返回几个?