在使用 Meteor.bindEnvironment 调用 Meteor 方法来创建新的 Fiber 时,数据上下文不再可用。插入 ID 返回未定义。
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,因为我认为我会有一个新的 Fiber 和原始数据上下文,但我仍然收到 Meteor 必须在 Fiber 中运行的错误。插入完成后,如何将 newID 绑定到原始数据上下文以将其传回?