openks / learn-vue

自定义组件文档
https://openks.github.io/learn-vue
0 stars 0 forks source link

20180927_vue method里返回promise对象 #123

Open openks opened 5 years ago

openks commented 5 years ago

碰到问题

  1. 在方法里直接调用接口A获取数据并在返回成功后做业务逻辑处理
  2. 某些逻辑后需要重新调用接口A,但不需要原来的业务逻辑,因此耦合的原方法需要拆分

解决方案

调用接口只返回一个promise,根据promise的结果进行数据处理即可

getItemPromise(id) {
    return new Promise(function (resolve, reject) {
        var content = {
            "isSingle": 1,
            "sbid": 13729792,
            "catalog3": id,
            "offset": 0,
            "pageSize": 10
        };
        axios.post('/bbg/goods/get_goods_list_wechat',
            {
                "data": JSON.stringify(content)
            }).then(function (response) {
                if (response.data.code == 626) {
                    resolve(response.data);
                }
            }).catch(function (error) {
                reject();
                console.log(error);
            });
    });
}