首页 > 解决方案 > 如何在颤动中从 API 读取值但它不是 json

问题描述

我的 API 在调用时只返回“待处理”作为输出。

我使用future函数来调用API。

 Future getOtp(rollNumber, phoneNumber, schoolName) async {

    Response response = await post(genOtpUrl, body: {
      "rollNumber" : rollNumber,
      "phNumber": phoneNumber,
      "schoolName" : schoolName
    });
    print(response.body);
    var result = jsonDecode(response.body);
    return result;

  }

在这里它打印“等待控制台”,但返回语句只是返回 Future 我想访问数据,但它不是 JSON 怎么做。

提前致谢。

标签: androidiosgoogle-chromeflutter

解决方案


"pending' 是一个字符串,所以你必须返回一个字符串。

Future<String> getOtp(rollNumber, phoneNumber, schoolName) async {
    Response response = await post(genOtpUrl, body: {
      "rollNumber" : rollNumber,
      "phNumber": phoneNumber,
      "schoolName" : schoolName
    });
    print(response.body);
    var result = response.body;
    return result;
  }

要访问字符串,您可以执行以下操作

callOtp() async{
   String otpResult = await getOtp(rollNumber, phoneNumber, schoolName);
   print(otpResult);
}

推荐阅读