#flutter #http #dart
#flutter #http #dart
Вопрос:
В классе consts я объявил это
Consts
static const URL = "";
В блоке входа в систему, после успешного входа в систему, сервер вернет url
мне значение, и я присваиваю значение url
этой переменной.
Response user =
await _repo.getLogin(context, email, password);
var baseResponse = UserResponse.fromJson(user.body);
if (baseResponse.status == 101) {
Consts.URL = baseResponse.url;
}
Предположим, что в классе repo у меня есть 5 методов, мне нужно использовать url
класс in consts.Является ли это хорошим решением и возможным?
Future create(){
try{
var request = http.MultipartRequest('POST',Uri.parse(Consts.URL));
}catch(e){
}
}
Ответ №1:
Вы не можете присвоить значение константе во время выполнения, поскольку const является константой времени компиляции.
Пожалуйста, обратитесь к документации по https://dart.dev/guides/language/language-tour#final-and-const
Final и const Если вы никогда не собираетесь изменять переменную, используйте final или const , либо вместо var, либо в дополнение к типу. Конечная переменная может быть установлена только один раз; переменная const является константой времени компиляции. (Переменные Const неявно являются окончательными.) Конечная переменная верхнего уровня или класса инициализируется при первом ее использовании.