| 298 | } |
| 299 | |
| 300 | func (info *RuntimeInfo) handleInvokeDone(requestID string, params *url.Values, data string) bool { |
| 301 | if request := info.loadRequest(requestID); request != nil { |
| 302 | status := StatusFailed |
| 303 | if strings.Compare(params.Get("success"), "true") == 0 { |
| 304 | status = StatusSuccess |
| 305 | } |
| 306 | request.InvokeResult(status, data) |
| 307 | request.InvokeDone() |
| 308 | request.StepDone(StageInvokeDone) |
| 309 | info.InvokeDone(request, true) |
| 310 | return true |
| 311 | } |
| 312 | |
| 313 | return false |
| 314 | } |
| 315 | |
| 316 | func (info *RuntimeInfo) InvokeDone(request *RequestInfo, signal bool) { |
| 317 | if _, load := info.requestMap.Load(request.RequestID); !load { |