Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从异步方法中提取值并将值放入变量中?_Javascript_Vue.js_Promise_Async Await_Lazy Loading - Fatal编程技术网

Javascript 如何从异步方法中提取值并将值放入变量中?

Javascript 如何从异步方法中提取值并将值放入变量中?,javascript,vue.js,promise,async-await,lazy-loading,Javascript,Vue.js,Promise,Async Await,Lazy Loading,我想从异步方法extractZMockClient中提取值,并将该值放入属性:defaultClient和clients中的apolloProvider变量中 我已经这样做了,但是在console.log(apolloProvider())上我得到了: constzmockclient=async()=>import(“z-mock-client”) const extractZMockClient=async()=>{ 试一试{ const callZMockClient=await ZM

我想从异步方法
extractZMockClient
中提取值,并将该值放入属性:defaultClient和clients中的apolloProvider变量中

我已经这样做了,但是在
console.log(apolloProvider())
上我得到了:

constzmockclient=async()=>import(“z-mock-client”)
const extractZMockClient=async()=>{
试一试{
const callZMockClient=await ZMockClient()
返回callZMockClient.mockedClient
}捕获(ex){
抛出新错误(ex)
}
}
const apolloProvider=新的VueAppollo({
defaultClient:Mock_UI?extractZMockClient():v2,
客户:{
v2:mock_UI?extractZMockClient():v2
}

})
我想你错过了一个
等待
这里:

constzmockclient=async()=>等待导入(“z-mock-client”)

extractZMockClient隐式返回一个承诺,该承诺与您返回的值进行解析。为了获得你的价值,请使用

extractZMockClient().then(function(result){ 
    // create your apollo
})
结果与extractZMockClient中的返回值相对应

建议:扔掉提取物,直接使用

ZMockClient().then((response)=>{ 
    // dostuff
}).catch((error)=>{console.error(error)})

由于您将它与wait一起使用,它将返回一个承诺;)

如果
VueAppollo
不接受承诺作为参数,则需要将整个
VueAppollo
作为承诺。如果您说要延迟加载客户端,为什么要立即实例化它呢?因为
wait
表达式等待承诺被解析并作为解析值进行计算,所以不需要更改语法。您可以阅读更多关于它的信息,这确实是可能的,只要它在异步函数中使用,我不确定@kikosko是否真的喜欢它们XD