Вот как бы я попытался перевести это;принять во внимание, что, поскольку у меня нет доступа к исходному коду в полном контексте, я не могу попробовать его из первых рук, чтобы убедиться, что он работает;но, тем не менее, это то, как вы можете использовать async/await
с обещаниями.
// 1. Mark the function as `async` (otherwise you cannot use `await` inside of it)
async fetchActiveWorkspace(context, workspaceID) {
if (workspaceID) {
// 2. Call the promise-returning function with `await` to wait for result before moving on.
// Capture the response in a varible (it used to go as argument for `then`)
let response = await this.$axios.get(`@api-v01/workspaces/workspace/${workspaceID}`);
context.commit('setActiveWorkspace', response.data);
}
// 3. I don't think this is necessary, as actions are not meant to return values and instead should be for asynchronous mutations.
else {
return true;
}
}
Вы можете окружить тело функции try/catch
в случае, если вы хотите захватывать и обрабатывать исключения.Я добавил его не для того, чтобы все было просто, и потому что ваш код, основанный на обещаниях, просто захватит и повторно сгенерирует исключение, ничего не делая.