gpt4 book ai didi

javascript - 使用 vuex + Feather 进行异步等待

转载 作者:行者123 更新时间:2023-11-28 17:48:14 25 4
gpt4 key购买 nike

请检查下面我的代码。我正在尝试将 Async Await 实现到 vuex 中。一切正常,但我想在此之后调用另一个操作,因此我尝试使用 async wait 但它不起作用。在控制台 console.log("after all this"+res) res 变量显示未定义。

action.js

import { createUpload } from '../api/index'
export default {
fetchImageUrl: async({ commit }, reader) => {
let res = await createUpload({ commit }, reader);
console.log("after all this" +res)
}
}

api/index.js

import { feathersClient } from './apiClient'
const uploadService = feathersClient.service('uploads');
export const createUpload = ({commit}, reader) => {
uploadService
.create({uri: reader.result})
.then(function(response){
commit('setImageUrl', { url: response.imageurl })
return true;
});
}

mutations.js

export default {
setImageUrl: (state,{ url } ) => {
state.imageUrl = url
}
}

LeftPanel.vue

const reader  = new FileReader();
export default {
name: 'left-panel',
data () {
return {
open: true
}
},
methods: {
uploadFile: function (event) {
let store = this.$store;
let file = event.target.files[0];
reader.readAsDataURL(file);
reader.onload = function(event) {
return store.dispatch('fetchImageUrl',reader)
};
}
},
components: {
'add-text': AddText
},
}

最佳答案

uploadService.create之前添加return语句。

index.js

export const createUpload = ({commit}, reader) => {
return uploadService
.create({uri: reader.result})
...
}

关于javascript - 使用 vuex + Feather 进行异步等待,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46215682/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com