syncWithResource<T> method
T
syncWithResource<
T>( - List<Resource> resources,
- T onAccept(),
- T onDeny()
)
Implementation
T syncWithResource<T>(
List<Resource> resources,
T Function() onAccept,
T Function() onDeny,
) {
assert(resources.isNotEmpty);
var token = _lockResource(resources);
if (token == 0) {
return onDeny();
}
try {
return onAccept();
} catch (e) {
Alog.e(
tag: _tag,
moduleName: _moduleName,
content: 'InvocationManager#syncWithResource error $e');
rethrow;
} finally {
_unlockResource(token);
}
}