我一直在这上面,我不知道为什么最后一次打印不会执行过去的对象值初始化。
await _client
.get(Uri.parse(_url), headers: {"location": "Mars"})
.then((result) => result.body)
.then(json.decode)
.then((json) => json.forEach((person) {
print(person); // this gets executed and printed over and over
Person newPerson;
print('hehe lolz'); // this gets executed too
newPerson.status = person['status'];
print('hello'); // this never gets executed...
Person类只是一个包含所有字符串字段和构造函数的模型。
什么可能阻止最后一次打印的执行?
最佳答案
这是因为newperson为空,当您尝试调用newperson.status时,会出现nullpointer异常,下面的所有代码都不会执行。只需制作:
Person newPerson = Person();
关于asynchronous - 在await中为对象字段分配新值会阻止进一步的指示,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55634688/