У меня есть несколько вызовов функций в строке, которые запускаются и ждут возврата, затем запускается следующий. После того, как они будут запущены, у меня есть одна функция, которую я хочу запустить, но потом я не хочу дождаться ее выполнения до того, как я заработаю свое возвращение.Как запустить задачу внутри метеорного метода, не дожидаясь завершения?
Вот пример того, что я имею в виду.
get_card
, create_order
, create_association
и debit_order
все должны ждать предыдущей функции, чтобы завершить, прежде чем они могут работать. Когда я доберусь до Queue.start_account_creation_task
, я хочу, чтобы он запустился, но затем пусть сразу же вернется на строку ниже.
Meteor.methods({
singleDonation: function (data) {
logger.info("Started singleDonation");
//Get the card data from balanced and store it
var card = Utils.get_card(customerData._id, data.paymentInformation.href);
//Create a new order
var orders = Utils.create_order(data._id, customerData.href);
//Associate the card with the balanced customer
var associate = Utils.create_association(customerData._id, card.href, customerData.href);
//Debit the order
var debitOrder = Utils.debit_order(data.paymentInformation.total_amount, data._id, customerData._id, orders.href, card.href);
Queue.start_account_creation_task(customerData._id, data._id, debitOrder._id);
return {c: customerData._id, don: data._id, deb: debitOrder._id};
}
});
https://meteorhacks.com/fibers-eventloop-and-meteor.html – Sindis
@Sindis Можете ли вы дать мне подсказку здесь? Я просмотрел эту статью, и я не понимаю, как я могу это использовать. В основном речь идет о том, чтобы делать противоположное тому, что я пытаюсь выполнить. – JoshJoe
Попробуйте обернуть все действия, которые должны ждать друг друга в одном волокне – Sindis