我在一行中有幾個函數調用運行並等待返回,然後下一個運行。在這些運行之後,我有一個我想要運行的函數,但是在運行返回之前,我不想等待它完成。如何在流星法內運行任務而無需等待它完成?
這裏是我的意思的一個例子。
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 2015-02-10 18:13:42
@Sindis你能給我一個提示嗎?我看過這篇文章,但我不明白我該如何使用它。大多數情況下它是在談論與我正在努力完成的事情相反的事情。 – JoshJoe 2015-02-10 20:49:49
嘗試將需要彼此等待的所有操作封裝到一個光纖中 – Sindis 2015-02-10 21:54:53