如何解决FCM OnMessage 如何在前台按顺序运行函数
请帮我弄清楚如何按顺序运行异步函数。
我有一个用于接收通知的类,它应该在 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 举报,一经查实,本站将立刻删除。