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