多个async await函数需要调用一个公共的async await函数,该怎么写法?
多个async await函数需要调用一个公共的async await函数,该怎么写法?
如何把"const { cct } = await comLibrary()"抽出来,只调用一次,其它函数直接使用
export const getName = async () => {
try {
const { cct } = await comLibrary()
return await cct.getName.call()
} catch (error) {
throw new Error('getName fail:', error)
}
}
export const getAge = async () => {
try {
const { cct } = await comLibrary()
return await cct.getAge.call()
} catch (error) {
throw new Error('getAge fail:', error)
}
}
export const getAddr = async () => {
try {
const { cct } = await comLibrary()
return await cct.getAddr.call()
} catch (error) {
throw new Error('getAddr fail:', error)
}
}
直接放在最上面程序先走的async函数,comLibrary后执行的,我想先执行comLibrary,且执行一次
const { cct } = comLibrary()
export const getName = async () => {
try {
return await cct.getName.call()
} catch (error) {
throw new Error('getName fail:', error)
}
}
export const getAge = async () => {
try {
return await cct.getAge.call()
} catch (error) {
throw new Error('getAge fail:', error)
}
}
export const getAddr = async () => {
try {
return await cct.getAddr.call()
} catch (error) {
throw new Error('getAddr fail:', error)
}
}
感谢大家回答,先前没有描述清楚,我的需求时多个异步请求的函数里需要用到一些公共的异步请求,能不能封装或者弄成全局的,其它异步函数就能直接使用;
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
题主没有描述
comLibrary
的具体行为,只能模拟一下,假设comLibrary
里有一个异步请求获取用户姓名、年龄和地址。通过cct
中的getName/getAge/getAddr
分别返回姓名、年龄和地址。也就是说
getName
需要依赖comLibrary
的异步请求完成,这个异步请求用 Promise 来实现,那么getName
只需要用这个 Promise 的then
等待异步请求完成再获取需要的数据。