Call function in protection mode, it's more comfortable way to handle errors.
How to use:
void _handleMessage(WebSocket wsock, String data){
var parts = pcall(() => _parseMessage(data), (error, st){
_messageFormatNotAcceptedHandler(wsock, error, st);
});
if (isFail(parts)) return;
var command = parts[0];
Map playload = pcall(() => JSON.decode(parts[1]), (error, st){
_messageFormatNotAcceptedHandler(wsock, error, st);
});
callCommand(wsock, command, playload);
}
pcallAsync
just a function call pcall
and return the result with typing mark Future
for type checking.