繁体   English   中英

修改javascript中的局部变量

[英]modify local variable in javascript

在成功queryExt.first中不会修改descriptionPercentagesStr变量。

我认为这是语法错误,但找不到。

   var ProductExtendidoClass = Parse.Object.extend("Product");
    var productExtObj = new ProductExtendidoClass();
    var idProduct =this.model.attributes.id;
    var queryExt = new Parse.Query(ProductExtendidoClass);

    descriptionPercentagesStr="inicial";


    queryExt.equalTo("idProduct", idProduct);

    queryExt.first({
      success: function(productExtObj) {

        if (productExtObj!=null)// se tiene el producto
        {
        );
           $("input[name=description_percentages]").val(productExtObj.get("descriptionPercentages"));
           descriptionPercentagesStr=productExtObj.get("descriptionPercentages");

        }
        else
        {
          //alert("lengt es menor o igual a 0");

        }
        // Successfully retrieved the object.
      },
      error: function(error) {
        alert("Error: " + error.code + " " + error.message);
      }
    });
  alert(descriptionPercentagesStr);

请注意,第first查询函数是异步的。 successfailure函数是其回调,在查询完成后的任意任意时间调用。 不会像其他代码一样顺序调用它们。 因此,代码中的操作顺序如下:

  1. descriptionPercentagesStr设置为“ inicial”
  2. ProductExtendidoClass查询匹配的idProduct (结果尚未收到)
  3. 警报descriptionPercentagesStr PercentagesStr(返回“ inicial”)
  4. 查询稍后完成,并将descriptionPercentagesStr设置为结果

您可以通过添加alert(descriptionPercentagesStr);来验证此行为alert(descriptionPercentagesStr); 进入success回调函数。 它应该从Parse输出结果。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM