Функция не возвращает значение на языке дартс - PullRequest
0 голосов
/ 31 октября 2018

Я пытаюсь подключить свое приложение к API и выполнять поиск с помощью API. Если поиск успешен и обнаружил имя, он вернет Success, а если нет, вернет Failed, но ничего не даст.

import 'dart:convert';
import 'package:http/http.dart' as http;

main() {
 getData();
}


String linearSearch(List<dynamic> list, String x) {
  for (var i = 0; i < list.length; i++){
    if(x == list[i]["name"]){
      return 'Success';
    }
  }
  return 'Failed';
}

void getData() async {
  List data;
  var response = await    
  http.get("http://localhost:3000/data");
  data = jsonDecode(response.body);
  linearSearch(data, 'karim');
}

Ответы [ 2 ]

0 голосов
/ 31 октября 2018

Ваша функция возвращает значение String без каких-либо дополнений. Вам просто нужно присвоить результат вашей функции переменной String и сделать что-нибудь с ней, если это необходимо. Или вы можете просто напечатать результат функции

void getData() async {
  List data;
  var response = await    
  http.get("http://localhost:3000/data");
  data = jsonDecode(response.body);
  print(linearSearch(data, 'karim'));
}
0 голосов
/ 31 октября 2018

Решено редактированием моей функции linearSearch

linearSearch(List<dynamic> list, String x) {
for (var i = 0; i < list.length; i++){
if(x == list[i]["name"]){
  return print('Success');
}
}
return print('Failed');
}
...