Pozyskanie wartosci z funkcji

0

Czesć,
mam następujaca funkcję w js:

function test(a){
   client.invoke("os",a,(error,res) => {
    console.log(res);
  });
  var zmienna=res;
  return zmienna;

Problem polega na tym, że chciałbym aby funkcja ta zwracała wartosć, która otrzymuje "res" z client.invoke. W powyższym kodzie działa to na tej zasadzie, ze console.log((res). który znajduje sie wewnatrz client.invoke prawidlowo wypisuje wartosci do konsoli, natomiast proba przypisania wartosci res do zmiennej 'zmienna' nie dziala- res poza client.invoke nie ma tak jakby zadnej wartosci. Chcialbym zapytac w jaki sposob moglbym zwrocic wartosc res poprzez returna, tak jak chcialem to zrobic w kodzie powyzej.

0
  1. co to ma wspólnego z jquery?
  2. nie da się - nie wiem co to jest client.invoke - ale wygląda na wywołanie funkcji asynchronicznej
  3. co oznacza, że kod idzie sobie dalej i robi return... a dopiero potem jest wywoływany client.invoke
  4. jak się client.invoke wykona i bedzie rezultat - to wykonuje się podana funkcja (error,res) => { ... , ale wtedy już dawno wykonał się return...
  5. przy okazji czy aby nie sa parametry odwrócone ? (res, error) =>
  6. Poczytaj o promise. Jedyne co ta funkcja może zwracać sensownego to Promise. https://developer.mozilla.org/pl/docs/Web/JavaScript/Reference/Global_Objects/Promise
    http://adamczuk.net.pl/2013/04/01/javascript-promises-czy-rzeczywiscie-takie-przydatne/
    https://mrzepinski.pl/es6%E2%80%8A-promises.html

1 użytkowników online, w tym zalogowanych: 0, gości: 1