美文网首页
Flutter 异步回调

Flutter 异步回调

作者: 守护浪漫的小香樟 | 来源:发表于2021-03-25 09:15 被阅读0次

前几天做一个功能,需要在异步回调未完成时候进行等待;也就是说同步执行N个异步方法. 总是在第一个异步未执行完成时候剧执行了第二个异步方法,效果很不理想.有什么方法可以实现这样的功能呢?


大体的思路:给每个异步加上等待;如下:

//将订单信息存储

      item.forEach((key, value) {

        setAtPageData(key, value);

      });

      //监听回调

      await registerPayListen(context);

      _timerCancel();

但是registerPayListen方法怎么才能在我不想要结束时候等待呢?

此处我是采用定时器去监听某一个bool当为真时候则结束异步;如下:

registerPayListen<T>(BuildContext context) async {

    var completer = Completer();

    Future zyn = completer.future;

    //微信支付回调失败  则执行此

    _countdownTimer = Timer.periodic(new Duration(seconds: 1), (timer) {

      if (wxPayFinish) {

        completer.complete();

      }

    });

    await zyn.whenComplete(() => print('完成'));

  }

只有在 completer.complete();执行时候才会回调异步方法并进行回调

相关文章

  • Flutter 异步回调

    前几天做一个功能,需要在异步回调未完成时候进行等待;也就是说同步执行N个异步方法. 总是在第一个异步未执行完成时候...

  • Flutter进阶篇(4)-- Flutter的Future异步

    Flutter中的异步其实就是用的Dart里面的Future,then函数,回调catchError这些东西。下面...

  • 异步的实现

    异步的三种实现方式: 回调函数事件Promise 回调函数 回调函数不一定是异步 但是异步一定是回调函数。 事件 ...

  • 同步、异步

    同步:等待结果异步:不等待结果 注意,异步常常伴随回调一起出现,但是异步不是回调,回调也不一定是异步。 【时序图】...

  • 异步和回调

    异步 异步就是「不等结果」,直接进行下一步怎么拿到结果回调可以拿到结果 回调 「回调是一种拿异步结果的方式」「回调...

  • 你不知道的JS(中卷)第七章

    第七章 回调 回调是js异步的基本单元。随着js越来越成熟,对于异步编程的发展,回调已经不够用了。回调表达异步流的...

  • Dart 语法

    回调 dart定义回调 dart使用回调 延时 异步

  • nodeJS回调函数

    NodeJS异步编程的直接体现就是回调函数。 异步编程依托于回调来实现,但不能说使用了回调后程序就异步化了。回调函...

  • Node.js 回调函数

    Node.js 异步编程的直接体现就是回调。 异步编程依托于回调来实现,但不能说使用了回调后程序就异步化了。 回调...

  • 14.回调地狱与 Promise

    回调地狱 为了保证异步代码的执行顺序,将异步代码嵌套到回调函数中,当异步的方法多了,就会产生回调地狱(callba...

网友评论

      本文标题:Flutter 异步回调

      本文链接:https://www.haomeiwen.com/subject/mdklhltx.html