我是流星的新手。我正在使用以下代码来读取存储在服务器上的文件。流星同步和异步调用读取文件
客户端
Meteor.call('parseFile', (err, res) => {
if (err) {
alert(err);
} else {
Session.set("result0",res[0]);
Session.set("result1",res[1]);
Session.set("result2",res[2]);
}
});
let longitude = Session.get("result0");
let latitude = Session.get("result1");
var buildingData = Session.get("result2");
服务器端
Meteor.methods({
'parseFile'() {
var csv = Assets.getText('buildingData.csv');
var rows = Papa.parse(csv).data;
return rows;
}
})
的问题是,我给它需要时间来将结果发送回,因此只要我一个电话我使用纬度和经度给它未定义和分页符。那么,是否有解决方案来避免这个问题。其中一个解决方案可以是进行同步调用并等待结果返回。
“一个解决方案可以使同步调用”,而不是在客户端上,没有。你不能在客户端上进行同步调用,你需要使你的页面健壮。我会建议实现一个“加载页面”,等待直到会话变量设置为只显示那个页面中断的那个页面。 –