1

在使用 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 绑定到原始数​​据上下文以将其传回?

4

0 回答 0