safeUpdate method

void safeUpdate(
  1. VoidCallback callback, {
  2. String? debugInfo,
  3. int frames = 1,
})

Implementation

void safeUpdate(VoidCallback callback, {String? debugInfo, int frames = 1}){
  if(frames - 1 == 0){
    /// 安全调用 update 并进行 debug 计数
    WidgetsBinding.instance.addPostFrameCallback((Duration dt){
      this.debugInfo = debugInfo;
      update(callback, debugInfo);
    });
  }else{
    WidgetsBinding.instance.addPostFrameCallback((Duration dt){
      safeUpdate(callback, debugInfo: debugInfo, frames: frames - 1);
    });
  }
}