我想从异步方法extractZMockClient
中提取值,并将此值放入属性:defaultClient和clients的apolloProvider变量中。
我已经这样做了,但是在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
}
})
extractZMockClient隐式返回了一个承诺,该承诺将根据您的返回值进行解析。要获得价值,请使用
extractZMockClient().then(function(result){
// create your apollo
})
结果对应于您在extractZMockClient中的回报
建议:扔掉摘录,然后使用
ZMockClient().then((response)=>{
// dostuff
}).catch((error)=>{console.error(error)})
因为您将其与await一起使用,它会返回一个promise;)
我认为您在这里缺少await
:
const ZMockClient = async () => await import("z-mock-client")