Open seanjsong opened 9 years ago
在李老师的task1的commit中是这样生成测试数据的:
https://github.com/limingth/meteor-master-classes/blob/8bdd6dfec51c4bd9ae84dcf08b577108bc6d1a16/demo/server/seeds.js
Meteor.startup(function () { if (Posts.find({}).count() >= 0) { Posts.remove({}); _(5).times(function(n){ Posts.insert({ title: Fake.word(), body: Fake.sentence(), published: Fake.fromArray([true, false]) }); }); } });
我自己在做task1时也试过这样的方法,绝大多数时候是没问题,但有那么一两次,meteor deploy到meteor.com之后,测试数据显示不出来,Posts列表是空的。在localhost上从来没有出过问题。
我在猜测产生问题的可能原因,有没有可能是因为Posts.remove()和Posts.insert()本质上是异步的,哪个先做完不一定,结果是先插入记录之后又全部删掉了?是不是有必要把第二步的多个insert操作放在第一步remove操作的callback里面去做,以保证串行执行?
https://meteorhacks.com/fibers-eventloop-and-meteor.html
在李老师的task1的commit中是这样生成测试数据的:
https://github.com/limingth/meteor-master-classes/blob/8bdd6dfec51c4bd9ae84dcf08b577108bc6d1a16/demo/server/seeds.js
我自己在做task1时也试过这样的方法,绝大多数时候是没问题,但有那么一两次,meteor deploy到meteor.com之后,测试数据显示不出来,Posts列表是空的。在localhost上从来没有出过问题。
我在猜测产生问题的可能原因,有没有可能是因为Posts.remove()和Posts.insert()本质上是异步的,哪个先做完不一定,结果是先插入记录之后又全部删掉了?是不是有必要把第二步的多个insert操作放在第一步remove操作的callback里面去做,以保证串行执行?