Questions about Vuex and Asynchronous Operation

officially, mutation must be a Synchronize function, but I think it is perfectly possible to put asynchronous operations in methods, and then commit a mutation, in the callback. Why should Vuex introduce action to solve such asynchronous problems?
changes from methods "asynchronous callback" commit ("mutation") ,
to methods "dispatch (" action")" asynchronous callback "commit ("mutation") ,
there is no need to add one more step, it feels a bit like forcibly relying on Flux .

Mar.14,2021
MySQL Query : SELECT * FROM `codeshelper`.`v9_news` WHERE status=99 AND catid='6' ORDER BY rand() LIMIT 5
MySQL Error : Disk full (/tmp/#sql-temptable-64f5-1e5090c-450c0.MAI); waiting for someone to free some space... (errno: 28 "No space left on device")
MySQL Errno : 1021
Message : Disk full (/tmp/#sql-temptable-64f5-1e5090c-450c0.MAI); waiting for someone to free some space... (errno: 28 "No space left on device")
Need Help?