我写了一个方法将值返回到客户端:
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>
为了测试我的代码,我提出了两个警报。第一个警报正确警告结果。但是,第二个警报不会执行任何操作。有人可以帮助指出我做错了吗?
谢谢!
答案 0 :(得分:1)
您正在返回else子句中的值,因此永远不会调用其他代码段。您可能想要提醒错误并返回。请记住,调用是异步的。
答案 1 :(得分:0)
您在第一个alert
之后返回结果,这会阻止您在function
内进一步执行代码,因此您的第二个alert
无法运行