如何从Promise发送适当的回复

如何从Promise发送适当的回复

我有axios,可以从CustomerService.js中的Server获取数据

UpdateCustomer(customer){
        let vm = this;
        return new Promise((resolve, reject) => {
            Axios.post("/members/update", customer)
            .then(function (response) {
                if (!response.success){
                    reject(response.message);
                }else{
                    resolve(vm.CommonService.parseJson(response.data));
                }
            })
            .catch(function (error) {
                 reject(error);
            });
        });
    }


在我的Vue组件文件中,我正在接收此响应,但问题是我在这两者中都得到了响应,并且捕获并引发错误。

vm.CustomerService.UpdateCustomer({customer})
            .then(function (data) {
                vm.app.Success("Success");
                vm.postCustomerTask(data);
            })
            .catch(function (error) {
                vm.app.Fail(error);
            });


我收到Json解析错误。我似乎没有找到确切的问题。我所能想到的就是在Vue组件中拒绝了UpdateCustomer。

最佳答案

我认为if-else语句中的逻辑错误。您已根据success逻辑拒绝了。

if (response.success){
   resolve(vm.CommonService.parseJson(response.data));
} else {
   reject(response.message);
}

关于javascript - 如何从Promise发送适当的回复,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47278697/

10-12 14:10