0
In der Funktion unten versuche ich, das Versprechen Objekt des zweiten Async-Aufrufs zurückzugeben, jedoch klagt Typoskript, dass die Funktion einen Wert zurückgeben muss. Ich bin mir nicht sicher, wie kann ich das erreichen? Wie gebe ich das 2. Versprechen zurück?Rückgabe zweites Versprechen TypeScript Jquery Versprechen
private getSalesUrl<TServiceInput>(serviceCall: (args: TServiceInput) => JQueryPromise<IServiceResponseT>, args): JQueryPromise<any> {
serviceCall(args).done(result => { //1st async call
if (result.serviceOutput) {
if (result.serviceOutput.key === "URL") {
return tipsInterop.executeSalesRequest(result.serviceOutput.value); //2nd async call
}
}
});
}
Die 'return' ist im' done' Rückruf von 'Servicecall()' tauschen. Sie müssen serviceCall (...) zurückgeben, damit die innere Rückgabe von serviceCall zurückgegeben wird. – marekful
Wenn ich den serviceCall zurückgebe, wird getSalesUrl.done() im Kontext des ersten asynchronen Aufrufs ausgeführt . Ich möchte getSaleUrl.done() im Kontext des zweiten asynchronen Aufrufs ausgeführt werden. –
A) niemals 'done' oder' fail' verwenden, immer 'then' verwenden. B) du gibst eigentlich noch nichts von 'getSalesUrl' zurück, du kommst nur 'zurück' von dem erfolgten Callback – Bergi