我是 Javascript 和 Vue 的新手,我很難將返回、異步和等待一起工作。我來自 Python 背景和 JS 語法完全不同所以......問題的一些背景......我正在構(gòu)建一個 Vue 博客并使用模塊模式創(chuàng)建多個 Vuex 商店。我還在創(chuàng)建一個從 Prismic 檢索數(shù)據(jù)的函數(shù)。./store/blog.jsimport {MyFunctions} from "../plugins/myfunctions.js";export const actions = { async retrievePosts() { console.log("HELLO") return MyFunctions.MyFunction("blog_post"); }}./plugins/myfunctions.jsimport Prismic from "prismic-javascript";import PrismicDom from "prismic-dom" //importing the Domimport PrismicConfig from "../prismic.config.js";export const MyFunctions = { MyFunction: async function (doctype) { console.log("Before") const api = await Prismic.getApi(PrismicConfig.apiEndpoint) let blog_post = {} const results = await api.query( Prismic.Predicates.at("document.type", doctype), { lang: "en-us" } //This is a Prismic query option ) console.log("After") result = results.results return result; }};這是我的問題:在 blog.js 中,如果我刪除 MyFunctions.MyFunction("blog_post") 前面的“return”一詞,則 myfunctions.js 中的 await 不會被激活。為什么?我這樣說是因為沒有返回,“之前”是控制臺記錄的,但“之后”不是,并且沒有返回任何內(nèi)容。我的啟蒙還有一個問題:return MyFunctions.MyFunction("blog_post") 返回到哪里?所以數(shù)據(jù)返回到retrievePosts() 但它是我相信的一個javascript對象的{}的一部分?那么它會變成 {} 中的屬性嗎?
理解 Vue 和 Return 和 Async Await
蕪湖不蕪
2022-07-21 10:06:31