如何合理的返回一个promise对象?
对promise不是很熟悉,导致有时候希望想分装一个方法,让其返回一个promise对象(调用方可以通过.then
的方式调用),感觉怎么写都不太对劲,特来请教,谢谢!
例如如下代码,我想把xxxApi
api调用逻辑和todo()
业务逻辑分开,
let datas = {
param1: '',
param2: '',
param3: '',
};
this.$store.dispatch('xxxApi', datas).then((res) => {
//todo()
}).catch(err => {
})
改成如下方式——除todo外,其他逻辑分装到isProvid()方法里面——该方法返回 promise
isProvid().then(res => { //todo })
改怎么实现呢?直接如下就可以了么?
function isPrvid(){
let datas = {
param1: '',
param2: '',
param3: '',
};
return this.$store.dispatch('xxxApi', datas)
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
可以啊,你不是写了吗 自己测试一下可以
我测试了一下,这样是可以的,但是如果不让直接
return this.$store.dispatch('xxxApi', datas)
,而要自己根据返回的内容来 构建一个promise
改如何写呢?是不是应该这么写呢?
首先,是的。
其次,这段代码最好改成,这样更符合 Promise 的标准用法:
至于 Promise 的用法,我还做过一次讲堂,应该算说的很详细了:Promise 的 N 种用法。