Я пытаюсь решить проблему, когда я хочу выполнить две синхронные функции. Я работаю изолированно, но не один за другим.Meteor 0.9.1.1: Проблема, выполняющая два синхронных метода Метеор
Я вызываю Meteor.method под названием «createImage», и это вызывает другой метод на сервере под названием «writeImage». После того, как файл был записан, я хочу, чтобы он затем написал CSS в вызове функции writeCss.
Проблема заключается в том, что вызов «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);
}
Это отсортировало это, спасибо, и да, я не собирался делать там глобальный путь :) – user1532669