2012-04-11 29 views
6

Tôi đang sử dụng gói async node.js, cụ thể choEachSeries, để tạo một chuỗi các yêu cầu http dựa trên các tham số được rút ra từ một mảng. Trong cuộc gọi lại của mỗi yêu cầu, tôi có một số câu lệnh if/else để trả lời các loại phản hồi khác nhau.Có một tuyên bố tương đương để 'tiếp tục' khi sử dụng node.js async choEachSeries không?

// This is the callback of a GET request inside of a forEachSeries 
function(error, response) { 
    if (response.results) { 
     // Do something with results 
    } 
    else if (!response.results) { 
     // Would like to use a continue statement here, but 
     // this is not inside of a loop 
    } 
    else { 
     // Do something else 
    } 
} 

Có tương đương với 'tiếp tục' mà tôi có thể sử dụng bên trong của người khác nếu ở trên không? Đây không phải là kỹ thuật bên trong của một vòng lặp để tiếp tục không hoạt động.

+0

Có một lý do để bạn không có quyền truy cập vào các 'tuyên bố CONTINUE' bên trong một cấu trúc điều khiển như 'if/else'. Chính xác những gì bạn đang cố gắng để làm? Vì có vẻ như tôi cần phải xem xét lại logic của bạn ... –

+0

Phản hồi! Mặc định rất có thể do một số tỷ lệ giới hạn từ máy chủ. Hiện tại, tôi có thể trả về cuộc gọi lại() trên forEachSeries rằng yêu cầu ở trên là bên trong, nhưng có một số mất dữ liệu tiềm năng với phương pháp này. Chỉ cần cố gắng tìm hiểu xem có tương đương với tiếp tục trong một forEachSeries trong node.js. Một cái gì đó tương tự như cách trả về true được sử dụng trong một jQuery $ mỗi. – TankofVines

Trả lời

5

Kể từ khi nó chỉ là một chức năng bạn sẽ có thể return từ nó có tác dụng tương tự:

else if (!response.results) { 
    return; 
} 
+0

Đây là những gì tôi nghĩ, mặc dù đoạn mã trên hơi kỳ lạ - câu lệnh khác sẽ không bao giờ bị nhấn, và trong trường hợp này, nếu/else khác đủ và sẽ không cần dòng lưu lượng 'tiếp tục' điều khiển. – Reid

+0

@Reid - Đồng ý, mặc dù nó có thể có ý nghĩa hơn trong một đoạn mã lớn hơn, ví dụ nếu có một nhánh mã khác trong 'else if'. –

+0

@Justin - Cảm ơn bạn đã phản hồi. Điều này không hoàn toàn khắc phục được sự cố của tôi, nhưng đó là giải pháp đơn giản nhất cho câu hỏi nên tôi đã chấp nhận. Tôi nên đã đăng một đoạn mã lớn hơn. – TankofVines

Các vấn đề liên quan