嗨,我正在尝试请求我的验证码。

我有类似的东西

if(hasProduct) {
    product.getProduct(, function(product) {
        $scope.name = product.name;
        $scope.price = product.price;
        $scope.region = product.region;
        //do other things.
    })
} else {
     product.getProduct(, function(product) {
         $scope.name = product.name;   // I need to get product name whether hasProduct is true or false
    })
    //do something
}


我的问题是hasProduct是否为假,我仍然需要请求获取产品名称,但是我不希望在不同条件下发出两个相同的请求是可行的。我想知道是否有更好的方法。谢谢您的帮助!

最佳答案

您可以发出一个请求,并在回调中使用变量来分支您的逻辑。

product.getProduct(, function(product) {
    if (hasProduct) //do stuff
    else //do other stuff
});


如果hasProduct变量发生变化(例如在循环中),则可以像这样包装回调函数,这样hasProduct变量将被绑定:

product.getProduct(, (function(hasProduct) { return function(product) {
    if (hasProduct) //do stuff
    else //do other stuff
})(hasProduct));

关于javascript - 如何重用http请求结果?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33903839/

10-10 00:05