【发布时间】:2020-04-15 16:20:35
【问题描述】:
我想从异步方法extractZMockClient 中提取值并将这个值放入属性中的 apolloProvider 变量中:defaultClient 和 clients。
我已经这样做了,但在 console.log(apolloProvider()) 我明白了:
const ZMockClient = async () => import("z-mock-client")
const extractZMockClient = async () => {
try {
const callZMockClient = await ZMockClient()
return callZMockClient.mockedClient
} catch (ex) {
throw new Error(ex)
}
}
const apolloProvider = new VueApollo({
defaultClient: MOCKED_UI ? extractZMockClient() : v2,
clients: {
v2: MOCKED_UI ? extractZMockClient() : v2
}
})
【问题讨论】:
-
如果
VueApollo不接受promise 作为参数,您需要将整个apolloProvider设为promise。如果您说要延迟加载客户端,为什么还要立即实例化它?
标签: javascript vue.js promise async-await lazy-loading