Как читать значение из API во флаттере, но это не json - PullRequest
0 голосов
/ 30 мая 2020

Мой 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;

  }

Здесь он печатает «ожидает на консоли» но оператор return просто возвращает Future Я хочу получить доступ к данным, но это не JSON, как это сделать.

Заранее спасибо.

1 Ответ

1 голос
/ 30 мая 2020

«ожидающий» - это строка, поэтому вы должны вернуть строку.

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);
}
...