流星模板助手没有返回值

时间:2015-06-10 23:38:55

标签: javascript templates methods meteor

我写了一个方法将值返回到客户端:

Template.Cart.helpers({

  cartPrice: function(result) {
    Meteor.call('returnCartPrice', function(error, result) {
    if(error) {
      alert(error.reason);
    } else {
      alert('result is ' + result); //this alerts
      return result;
    }
    alert('result is ' + result); //this does NOT alert
    return result;
  });
 }
});

cart.html:

<p>{{cartPrice}}</p>

为了测试我的代码,我提出了两个警报。第一个警报正确警告结果。但是,第二个警报不会执行任何操作。有人可以帮助指出我做错了吗?

谢谢!

2 个答案:

答案 0 :(得分:1)

您正在返回else子句中的值,因此永远不会调用其他代码段。您可能想要提醒错误并返回。请记住,调用是异步的。

答案 1 :(得分:0)

您在第一个alert之后返回结果,这会阻止您在function内进一步执行代码,因此您的第二个alert无法运行