The getter 'data' was called on null , Receiver: null, Tried calling

控制臺報錯如下:

══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
I/flutter (26961): The following NoSuchMethodError was thrown building ListeningBuilder(animation: Instance of
I/flutter (26961): 'DetailsInfoProvide', dirty, dependencies: [_InheritedProviders], state: _AnimatedState#34350):
I/flutter (26961): The getter 'data' was called on null.
I/flutter (26961): Receiver: null
I/flutter (26961): Tried calling: data
I/flutter (26961): 
I/flutter (26961): When the exception was thrown, this was the stack:
I/flutter (26961): #0      Object.noSuchMethod (dart:core-patch/object_patch.dart:50:5)
I/flutter (26961): #1      DetailsTopArea.build.<anonymous closure> (package:flutter_shop/pages/details_page/details_top_area.dart:17:66)
I/flutter (26961): #2      Provide.build.<anonymous closure> (package:provide/provide.dart:289:43)
I/flutter (26961): #3      ListeningBuilder.build (package:provide/provide.dart:629:12)
I/flutter (26961): #4      _AnimatedState.build (package:flutter/src/widgets/transitions.dart:148:48)
I/flutter (26961): #5      StatefulElement.build (package:flutter/src/widgets/framework.dart:3824:27)
I/flutter (26961): #6      ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3735:15)
I/flutter (26961): #7      Element.rebuild (package:flutter/src/widgets/framework.dart:3558:5)
I/flutter (26961): #8      ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3715:5)
I/flutter (26961): #9      StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3863:11)
I/flutter (26961): #10     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3710:5)
I/flutter (26961): #11     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2954:14)
I/flutter (26961): #12     Element.updateChild (package:flutter/src/widgets/framework.dart:2757:12)
I/flutter (26961): #13     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3746:16)
I/flutter (26961): #14     Element.rebuild (package:flutter/src/widgets/framework.dart:3558:5)
I/flutter (26961): #15     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3715:5)
I/flutter (26961): #16     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3710:5)
I/flutter (26961): #17     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2954:14)
I/flutter (26961): #18     Element.updateChild (package:flutter/src/widgets/framework.dart:2757:12)
I/flutter (26961): #19     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3746:16)
I/flutter (26961): #20     Element.rebuild (package:flutter/src/widgets/framework.dart:3558:5)
I/flutter (26961): #21     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3715:5)
I/flutter (26961): #22     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3710:5)
I/flutter (26961): #23     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2954:14)
I/flutter (26961): #24     Element.updateChild (package:flutter/src/widgets/framework.dart:2757:12)
I/flutter (26961): #25     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4875:14)
I/flutter (26961): #26     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2954:14)
I/flutter (26961): #27     Element.updateChild (package:flutter/src/widgets/framework.dart:2757:12)
I/flutter (26961): #28     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4875:14)
I/flutter (26961): #29     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2954:14)
I/flutter (26961): #30     Element.updateChild (package:flutter/src/widgets/framework.dart:2757:12)
I/flutter (26961): #31     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3746:16)
I/flutter (26961): #32     Element.rebuild (package:flutter/src/widgets/framework.dart:3558:5)
I/flutter (26961): #33     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3715:5)
I/flutter (26961): #34     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3710:5)
I/flutter (26961): #35     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2954:14)
I/flutter (26961): #36     Element.updateChild (package:flutter/src/widgets/framework.dart:2757:12)
I/flutter (26961): #37     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3746:16)
I/flutter (26961): #38     Element.rebuild (package:flutter/src/widgets/framework.dart:3558:5)
I/flutter (26961): #39     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3715:5)
I/flutter (26961): #40     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3710:5)
I/flutter (26961): #41     ParentDataElement.mount (package:flutter/src/widgets/framework.dart:4062:11)
I/flutter (26961): #42     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2954:14)
I/flutter (26961): #43     Element.updateChild (package:flutter/src/widgets/framework.dart:2757:12)
I/flutter (26961): #44     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3746:16)
I/flutter (26961): #45     Element.rebuild (package:flutter/src/widgets/framework.dart:3558:5)
I/flutter (26961): #46     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3715:5)
I/flutter (26961): #47     StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3863:11)
I/flutter (26961): #48     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3710:5)
I/flutter (26961): #49     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2954:14)
I/flutter (26961): #50     Element.updateChild (package:flutter/src/widgets/framework.dart:2757:12)
I/flutter (26961): #51     SliverMultiBoxAdaptorElement.updateChild (package:flutter/src/widgets/sliver.dart:1030:36)
I/flutter (26961): #52     SliverMultiBoxAdaptorElement.createChild.<anonymous closure> (package:flutter/src/widgets/sliver.dart:1015:20)
I/flutter (26961): #53     BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2251:19)
I/flutter (26961): #54     SliverMultiBoxAdaptorElement.createChild (package:flutter/src/widgets/sliver.dart:1008:11)
I/flutter (26961): #55     RenderSliverMultiBoxAdaptor._createOrObtainChild.<anonymous closure> (package:flutter/src/rendering/sliver_multi_box_adaptor.dart:275:23)
I/flutter (26961): #56     RenderObject.invokeLayoutCallback.<anonymous closure> (package:flutter/src/rendering/object.dart:1740:58)
I/flutter (26961): #57     PipelineOwner._enableMutationsToDirtySubtrees (package:flutter/src/rendering/object.dart:797:15)
I/flutter (26961): #58     RenderObject.invokeLayoutCallback (package:flutter/src/rendering/object.dart:1740:13)
I/flutter (26961): #59     RenderSliverMultiBoxAdaptor._createOrObtainChild (package:flutter/src/rendering/sliver_multi_box_adaptor.dart:264:5)
I/flutter (26961): #60     RenderSliverMultiBoxAdaptor.addInitialChild (package:flutter/src/rendering/sliver_multi_box_adaptor.dart:348:5)
I/flutter (26961): #61     RenderSliverList.performLayout (package:flutter/src/rendering/sliver_list.dart:78:12)
I/flutter (26961): #62     RenderObject.layout (package:flutter/src/rendering/object.dart:1644:7)
I/flutter (26961): #63     RenderSliverPadding.performLayout (package:flutter/src/rendering/sliver_padding.dart:182:11)
I/flutter (26961): #64     RenderObject.layout (package:flutter/src/rendering/object.dart:1644:7)
I/flutter (26961): #65     RenderViewportBase.layoutChildSequence (package:flutter/src/rendering/viewport.dart:407:13)
I/flutter (26961): #66     RenderViewport._attemptLayout (package:flutter/src/rendering/viewport.dart:1322:12)
I/flutter (26961): #67     RenderViewport.performLayout (package:flutter/src/rendering/viewport.dart:1240:20)
I/flutter (26961): #68     RenderObject.layout (package:flutter/src/rendering/object.dart:1644:7)
I/flutter (26961): #69     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
I/flutter (26961): #70     RenderObject.layout (package:flutter/src/rendering/object.dart:1644:7)
I/flutter (26961): #71     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
I/flutter (26961): #72     RenderObject.layout (package:flutter/src/rendering/object.dart:1644:7)
I/flutter (26961): #73     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
I/flutter (26961): #74     RenderObject.layout (package:flutter/src/rendering/object.dart:1644:7)
I/flutter (26961): #75     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
I/flutter (26961): #76     RenderObject.layout (package:flutter/src/rendering/object.dart:1644:7)
I/flutter (26961): #77     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
I/flutter (26961): #78     RenderObject.layout (package:flutter/src/rendering/object.dart:1644:7)
I/flutter (26961): #79     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
I/flutter (26961): #80     RenderObject.layout (package:flutter/src/rendering/object.dart:1644:7)
I/flutter (26961): #81     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
I/flutter (26961): #82     RenderObject.layout (package:flutter/src/rendering/object.dart:1644:7)
I/flutter (26961): #83     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
I/flutter (26961): #84     RenderObject.layout (package:flutter/src/rendering/object.dart:1644:7)
I/flutter (26961): #85     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
I/flutter (26961): #86     RenderObject.layout (package:flutter/src/rendering/object.dart:1644:7)
I/flutter (26961): #87     MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:142:11)
I/flutter (26961): #88     _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:431:7)
I/flutter (26961): #89     MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:212:7)
I/flutter (26961): #90     RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:356:14)
I/flutter (26961): #91     RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:1519:7)
I/flutter (26961): #92     PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:766:18)
I/flutter (26961): #93     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:336:19)
I/flutter (26961): #94     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding&WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:701:13)
I/flutter (26961): #95     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:275:5)
I/flutter (26961): #96     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1012:15)
I/flutter (26961): #97     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:952:9)
I/flutter (26961): #98     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:864:5)
I/flutter (26961): #102    _invoke (dart:ui/hooks.dart:219:10)
I/flutter (26961): #103    _drawFrame (dart:ui/hooks.dart:178:3)
I/flutter (26961): (elided 3 frames from package dart:async)

我這里的原因是由于DetailsInfoProvide這個provide中的請求不是異步敢茁,造成了初始時data數(shù)據(jù)為空,從而導(dǎo)致了控制臺異常拋出留美,而ui界面會先出現(xiàn)瞬間的崩潰然后變?yōu)檎!?/p>

沒有使用異步處理之前的代碼:

//發(fā)送請求
  getGoodsInfo(String id)  {
    var formData = {
      'goodId': id,
    };
     request('getGoodDetailById', formData: formData).then((val) {
      var responseData = json.decode(val.toString());

      goodsInfo = DetailsModel.fromJson(responseData);
      notifyListeners();
    });
  }

使用異步處理之后的代碼為(async--await):

//發(fā)送請求  使用async--await
  getGoodsInfo(String id) async {
    var formData = {
      'goodId': id,
    };
    await request('getGoodDetailById', formData: formData).then((val) {
      var responseData = json.decode(val.toString());

      goodsInfo = DetailsModel.fromJson(responseData);
      notifyListeners();
    });
  }
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末伸刃,一起剝皮案震驚了整個濱河市谎砾,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌捧颅,老刑警劉巖景图,帶你破解...
    沈念sama閱讀 217,734評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異碉哑,居然都是意外死亡挚币,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評論 3 394
  • 文/潘曉璐 我一進店門扣典,熙熙樓的掌柜王于貴愁眉苦臉地迎上來妆毕,“玉大人,你說我怎么就攤上這事贮尖〉颜常” “怎么了?”我有些...
    開封第一講書人閱讀 164,133評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長薪前。 經(jīng)常有香客問我润努,道長,這世上最難降的妖魔是什么示括? 我笑而不...
    開封第一講書人閱讀 58,532評論 1 293
  • 正文 為了忘掉前任铺浇,我火速辦了婚禮,結(jié)果婚禮上垛膝,老公的妹妹穿的比我還像新娘鳍侣。我一直安慰自己,他們只是感情好繁涂,可當我...
    茶點故事閱讀 67,585評論 6 392
  • 文/花漫 我一把揭開白布拱她。 她就那樣靜靜地躺著,像睡著了一般扔罪。 火紅的嫁衣襯著肌膚如雪秉沼。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,462評論 1 302
  • 那天矿酵,我揣著相機與錄音唬复,去河邊找鬼。 笑死全肮,一個胖子當著我的面吹牛敞咧,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播辜腺,決...
    沈念sama閱讀 40,262評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼休建,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了评疗?” 一聲冷哼從身側(cè)響起测砂,我...
    開封第一講書人閱讀 39,153評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎百匆,沒想到半個月后砌些,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,587評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡加匈,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,792評論 3 336
  • 正文 我和宋清朗相戀三年存璃,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片雕拼。...
    茶點故事閱讀 39,919評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡纵东,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出悲没,到底是詐尸還是另有隱情篮迎,我是刑警寧澤男图,帶...
    沈念sama閱讀 35,635評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站甜橱,受9級特大地震影響逊笆,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜岂傲,卻給世界環(huán)境...
    茶點故事閱讀 41,237評論 3 329
  • 文/蒙蒙 一难裆、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧镊掖,春花似錦乃戈、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至归薛,卻和暖如春谍憔,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背主籍。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評論 1 269
  • 我被黑心中介騙來泰國打工习贫, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人千元。 一個月前我還...
    沈念sama閱讀 48,048評論 3 370
  • 正文 我出身青樓苫昌,卻偏偏與公主長得像,于是被迫代替她去往敵國和親幸海。 傳聞我的和親對象是個殘疾皇子祟身,可洞房花燭夜當晚...
    茶點故事閱讀 44,864評論 2 354

推薦閱讀更多精彩內(nèi)容