Czekanie na callback

  • Rejestracja: dni
  • Ostatnio: dni
0

Czy jest jakiś sposób w JS, aby poczekać na wywołanie callbacka ?
Mam taki kod i chciałbym do zmiennej temo przypisać stdout, ale to nie działa.

Kopiuj
function fun1(){
    var sys = require('sys')
    var exec = require('child_process').exec;
    
    var child;
    var temp="";
    
    // executes `pwd`
    
    child = exec("ls", function (error, stdout, stderr) {  
      console.log('stdout: ' + stdout);
      temp = stdout;
    
      console.log('stderr: ' + stderr);
    
      if (error !== null) {
    
        console.log('exec error: ' + error);
    
      }
    
    });
console.log(temp);
}
Patryk27
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 13042
0

Nie, nie można "czekać" na callback - JS jest poniekąd specyficznym językiem.
Poczytaj o event loop.

  • Rejestracja: dni
  • Ostatnio: dni
0

W takim razie czy jest sposób na wykonanie komendy w terminalu a następnie zapisanie wyniku do zmiennej ?

LS
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 990

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.