Better implementation for async loop control

This commit is contained in:
Zaid Abdulla committed 2017-01-05 18:22:24 -08:00
1 parent 7d30ffd176
commit 12aa43c379
4 files changed
+94 -85

No files matched your search

+11 -11
View File
@@ -429,31 +429,31 @@ sendRpcRequest = (currentRequest, id, rpcRequest) ->
db.clearTasks(currentRequest.sessionData.doneTasks, (err) ->
return throwError(err, currentRequest.httpResponse) if err
counter = 1
counter = 3
for k of currentRequest.sessionData.faultsTouched
++ counter
counter += 2
if currentRequest.sessionData.faults[k]
currentRequest.sessionData.faults[k].retries = currentRequest.sessionData.retries[k]
db.saveFault(currentRequest.sessionData.deviceId, k, currentRequest.sessionData.faults[k], (err) ->
-- counter
if err and counter >= 0
return throwError(err, currentRequest.httpResponse) if err
if err
throwError(err, currentRequest.httpResponse) if counter & 1
return counter = 0
if counter == 0
if (counter -= 2) == 1
return writeResponse(currentRequest, soap.response(null))
)
else
db.deleteFault(currentRequest.sessionData.deviceId, k, (err) ->
-- counter
if err and counter >= 0
return throwError(err, currentRequest.httpResponse) if err
if err
throwError(err, currentRequest.httpResponse) if counter & 1
return counter = 0
if counter == 0
if (counter -= 2) == 1
return writeResponse(currentRequest, soap.response(null))
)
if -- counter == 0
if (counter -= 2) == 1
return writeResponse(currentRequest, soap.response(null))
)
)