问题描述
请帮我弄清楚如何按顺序运行异步函数。
我有一个用于接收通知的类,它应该在 forrground 应用程序状态下对 OnMessage 事件调用异步函数。
class PushNotificationService {
final FirebaseMessaging _fcm;
final BuildContext context;
PushNotificationService(this._fcm,this.context);
Future initialise() async {
token = await _fcm.getToken();
print("FirebaseMessaging token: $token");
_fcm.configure(
onMessage: (Map<String,dynamic> message) async {
await getNotificationsTMP(); //<-- Asynchronous function
},onLaunch: (Map<String,dynamic> message) async {
print("onLaunch: $message");
},onResume: (Map<String,dynamic> message) async {
print("onResume: $message");
},);
_fcm.requestNotificationPermissions(
const IosNotificationSettings(sound: true,badge: true,alert: true));
_fcm.onIosSettingsRegistered.listen((IosNotificationSettings settings) {
print("Settings registered: $settings");
});
}
}
Future<bool> getNotificationsTMP() async {
print('NTF BEGIN');
await Future.delayed(Duration(seconds: 1));
print('NTF END';
return true;
}
onpressed: () async {
await getNotificationsTMP();
await getNotificationsTMP();
}
I/Flutter (16043): NTF BEGIN
I/Flutter (16043): NTF END
I/Flutter (16043): NTF BEGIN
I/Flutter (16043): NTF END
当我收到一条通知消息时,一切正常! 我期望日志:
I/Flutter (16043): NTF BEGIN
I/Flutter (16043): NTF END
I/Flutter (16043): NTF BEGIN
I/Flutter (16043): NTF BEGIN
I/Flutter (16043): NTF END
I/Flutter (16043): NTF END
而且我不知道如何获得预期的日志:
I/Flutter (16043): NTF BEGIN
I/Flutter (16043): NTF END
I/Flutter (16043): NTF BEGIN
I/Flutter (16043): NTF END
有人能给我建议我可以为函数的顺序运行做些什么吗?...
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)