Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 25.10.2018, 07:49
Интересующийся
Отправить личное сообщение для victornalchik Посмотреть профиль Найти все сообщения от victornalchik
 
Регистрация: 18.11.2017
Сообщений: 21

function asyncCallDomainWithoutCallback() {
	let resultText;
	const xhr = new XMLHttpRequest();
	const url = 'http://bar.other/resources/public-data/';
  xhr.timeout = 30000;
  xhr.open('POST', url, true);
  xhr.send(); 
  xhr.onload = ()=>{resultText = xhr.responseText};
  return resultText;
}

function handler1(){
 const serverResponse = asyncCallDomainWithoutCallback(); 
 if(serverResponse) { // serverResponse = undefined
 	throw new Error('THROW будет упущен')
 }
return serverResponse;
}





function asyncCallDomainWitCallback(callbackForAsync) {
	const xhr = new XMLHttpRequest();
	const url = 'http://bar.other/resources/public-data/';
  xhr.timeout = 30000;
  xhr.open('POST', url, true);
  xhr.send(); 
  xhr.onload = ()=>{ callbackForAsync(xhr.responseText) };
}

function handler2(callbackForAsync){
	asyncCallDomainWitCallback(callbackForAsync);
}

function callback (resultText) {
  const serverResponse = asyncCallDomain(callback); 
 if(serverResponse) {
 	throw new Error('THROW будет упущен') // никто не получит ошибку
 }else{
 
 }
return serverResponse; // никто не получит возвращаемое значение
}


Вот код описывающий приведенное выше описание
Ответить с цитированием
  #12 (permalink)  
Старый 25.10.2018, 07:54
Интересующийся
Отправить личное сообщение для victornalchik Посмотреть профиль Найти все сообщения от victornalchik
 
Регистрация: 18.11.2017
Сообщений: 21

function asyncCallDomainWithoutCallback() {
	let resultText;
	const xhr = new XMLHttpRequest();
	const url = 'http://bar.other/resources/public-data/';
  xhr.timeout = 30000;
  xhr.open('POST', url, true);
  xhr.send(); 
  xhr.onload = ()=>{resultText = xhr.responseText};
  return resultText;
}

function handler1(){
 const serverResponse = asyncCallDomainWithoutCallback(); 
 if(serverResponse) { // serverResponse = undefined
 	throw new Error('THROW будет упущен')
 }
return serverResponse;
}





function asyncCallDomainWitCallback(callbackForAsync) {
	const xhr = new XMLHttpRequest();
	const url = 'http://bar.other/resources/public-data/';
  xhr.timeout = 30000;
  xhr.open('POST', url, true);
  xhr.send(); 
  xhr.onload = ()=>{ callbackForAsync(xhr.responseText) };
}

function handler2(callbackForAsync){
	asyncCallDomainWitCallback(callbackForAsync);
}

function callback (resultText) {
  const serverResponse = asyncCallDomain(callback); 
 if(serverResponse) {
 	throw new Error('THROW будет упущен') // никто не получит ошибку
 }else{
 
 }
return serverResponse; // никто не получит возвращаемое значение
}

Вот код описывающий поведение callback.
Ответить с цитированием
  #13 (permalink)  
Старый 25.10.2018, 08:53
Аватар для SuperZen
Профессор
Отправить личное сообщение для SuperZen Посмотреть профиль Найти все сообщения от SuperZen
 
Регистрация: 08.11.2017
Сообщений: 641

эти(твои) примеры, в моем мозгу ))) выглядят так:
let a = 1
let b = 2
console.log(c + d)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Мобильная версия сайта переходит в ПК версию сайта. Luara Элементы интерфейса 0 25.04.2017 10:00
Работа с textarea Rompo Events/DOM/Window 14 16.12.2013 17:41
Как найти различие между двумя массивами? Maxmaxmaximus4 Оффтопик 169 10.12.2013 16:43
Jin: И снова о наследовании tenshi Ваши сайты и скрипты 16 19.08.2013 20:30
Нативный шаблонизатор Антон Крамолов AJAX и COMET 191 28.12.2012 17:47