在使用Meteor.bindEnvironment调用Meteor方法创建新光纤时,数据上下文不再可用。插入ID返回undefined。
Meteor.call('saveData', data, function(error, result){
let returnValue = Collection.findOne({'data': result }).buffer;
}
});
Meteor.methods({
'saveData': function(data) {
let doc = new PDFDocument();
doc.image(data, 0, 0);
doc.pipe(concat(Meteor.bindEnvironment(
function(buffer) {
let newID = Collection.insert({
'data': buffer,
});
}
)));
}
doc.end();
return newID;
});

我尝试过使用Meteor.bindAsync,因为我认为我会有一个新的光纤和原始数据上下文,但我仍然得到Meteor必须在光纤内运行的错误。如何在插入完成后将newID绑定到原始数据上下文以将其传回?