Tôi đang tạo một dịch vụ trong buồm js. Tôi muốn cập nhật giá trị của totalCount trước khi trả lại. Nhưng vấn đề là khi sự trở lại là trong callback của async.series tôi nhận được một undefined khi tôi gọi nó. Làm thế nào tôi nên làm điều này?Sails JS: Cách trả về một giá trị từ một dịch vụ
var totalCount = 0;
async.series([
function getProducts(cb_series){
Inventory.find({sku_id : sku_id, bay_id : bay_id})
.then(function(inventory_items){
async.each(inventory_items, function(item, cb_each){
totalCount = totalCount + item.physical_count;
cb_each();
}, function(err){
if(err)
console.log(err);
cb_series();
});
});
}
], function returnResult(err, cb){
if(err)
console.log(err);
return totalCount;
});
WTH được bạn sử dụng 'async.each' cho một tổng kết đồng bộ? – Bergi
Vì kết quả tìm kiếm là một mảng. Nó sẽ trả về hơn 1 thể hiện sẽ phù hợp với tiêu chí của tôi và tôi thêm tất cả những cái đó là lý do tại sao tôi sử dụng async mỗi –
Có, 'inventory_items' là một mảng. Nhưng bạn có thể lặp lại điều đó với một vòng lặp 'for' đơn giản, không cần cho 'async'? – Bergi