如何从异步方法中提取值并将值放入 apolloProvider 变量中?
How to extract value from async method and put value in apolloProvider variable?
我想从异步方法中提取值 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
}
})
我认为你在这里遗漏了一个 await
:
const ZMockClient = async () => await import("z-mock-client")
extractZMockClient 隐含了一个 returned 承诺,它用您的 returned 值解析。要获得您的价值,请使用
extractZMockClient().then(function(result){
// create your apollo
})
结果对应于你在extractZMockClientreturn中的return
建议:扔掉提取物,直接使用
ZMockClient().then((response)=>{
// dostuff
}).catch((error)=>{console.error(error)})
因为您将它与 await 一起使用 return 这是一个承诺 ;)
我想从异步方法中提取值 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
}
})
我认为你在这里遗漏了一个 await
:
const ZMockClient = async () => await import("z-mock-client")
extractZMockClient 隐含了一个 returned 承诺,它用您的 returned 值解析。要获得您的价值,请使用
extractZMockClient().then(function(result){
// create your apollo
})
结果对应于你在extractZMockClientreturn中的return
建议:扔掉提取物,直接使用
ZMockClient().then((response)=>{
// dostuff
}).catch((error)=>{console.error(error)})
因为您将它与 await 一起使用 return 这是一个承诺 ;)