Jak mogę dokonać tego dziełanode.js asynchroniczny synchronizować
var asyncToSync = syncFunc();
function syncFunc() {
var sync = true;
var data = null;
query(params, function(result){
data = result;
sync = false;
});
while(sync) {}
return data;
}
Próbowałem dostać funkcję synchronizacji z asynchroniczny jedno, muszę go używać FreeTDS zapytanie asynchronicznej jako zsynchronizowane jeden
asynchroniczne wywołania zwrotne zawsze uruchamiane po stos funkcja wyczyszczone. Dlatego nie jest możliwe synchroniczne zwracanie wyniku ansyc. Każda funkcja synchroniczna, która zainicjowała działanie asynchroniczne, musi koniecznie powrócić przed rozpoczęciem akcji asynchronicznej. ** Zamiast **, chcesz uczynić twoją zewnętrzną funkcję * także * asynchroniczną, przyjmując wywołanie zwrotne, które jest wywoływane wewnątrz wywołania zwrotnego do 'zapytania'. – apsillers
Czy funkcja zapytania wykonuje wywołanie bazy danych? Jeśli tak, klient DB może zapewnić synchroniczną wersję tej funkcji zapytania. – helpermethod
Powiel: [Jak blokować asynchroniczne funkcje w JavaScript] (http://stackoverflow.com/questions/4345945/how-to-block-on-asynchronous-functions-in-javascript) (ale nie wiele dobrych odpowiedzi wyjaśniających) – apsillers