Meteor 0.9.1.1:执行两个同步Meteor方法的问题

Meteor 0.9.1.1:执行两个同步Meteor方法的问题,meteor,Meteor,我试图解决一个问题,我希望执行两个同步函数。我两人都单独工作,但不是一个接一个 我调用Meteor.method称为“createImage”,这将调用服务器上另一个名为“writeImage”的方法。一旦文件被写入,我希望它在“writeCss”函数调用中写入CSS 问题是没有调用“writeCss”调用 有人能建议一种分类方法吗?我试图清理一下我的代码,防止微调器过早终止 Meteor.call('createImage', params, function(err, result){

我试图解决一个问题,我希望执行两个同步函数。我两人都单独工作,但不是一个接一个

我调用Meteor.method称为“createImage”,这将调用服务器上另一个名为“writeImage”的方法。一旦文件被写入,我希望它在“writeCss”函数调用中写入CSS

问题是没有调用“writeCss”调用

有人能建议一种分类方法吗?我试图清理一下我的代码,防止微调器过早终止

Meteor.call('createImage', params, function(err, result){
            if (!err) {
              // remove the overlay on success
              LoadingOverlay.destroyLoadingOverlay(selector);
             }
           });

createImage: function(params) {
  console.log('write image');
  Meteor.call('writeImage', params);
  console.log('written image');

  /* execution stops here */

  console.log('write css')
  Meteor.call('writeCss', params);
  console.log('written css')

  console.log('image and css written')
  return true;
},


writeImage: function(){
  writeImageAsync = function(gm, source, params, publicRoot){
  console.log('in writeImageAsync')
  var im = gm.subClass({imageMagick: true});
  im(source)
  .crop(params.a, params.b, params.c, params.d)
  .write(publicRoot + 'myimage.png', function(err){
    if (err) return console.dir(arguments)
       console.log('image has been written')
       /*
        This is as far as it gets.  Doesn't return from here
       */ 
    })
  };

writeImageSync = Meteor._wrapAsync(writeImageAsync);
writeImageSync(gm, source, params, publicRoot);
}

使用Meteor.\u wrapAsync时,将使用附加回调参数调用包装函数。你必须在完成后调用回调。回调遵循node.js约定-它的第一个参数是错误,如果没有错误,则为null;第二个参数是返回值(如果有)

//您可能不是有意在这里创建全局
writeImageAsync=函数(gm、源、参数、publicRoot、回调){
console.log('in writeImageAsync')
var im=gm.subClass({imageMagick:true});
即时通讯(来源)
.作物(参数a、参数b、参数c、参数d)
.write(publicRoot+'myimage.png',函数(err){
如果(错误){
console.dir(参数);
回调(新错误(“写入图像错误”);
}否则{
log('图像已写入');
回调(空);
}
});
};
writeImageSync=Meteor.\u wrapAsync(writeImageAsync);
writeImageSync(gm、源、参数、publicRoot);

那就把它整理好了谢谢你,是的,我不是想在那里做一个全球广告:)