Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Передача значений между функциями (https://javascript.ru/forum/misc/65823-peredacha-znachenijj-mezhdu-funkciyami.html)

phoenix200689 09.11.2016 14:55

Передача значений между функциями
 
Народ, вопрос возможно элементарный, но как можно передать значение переменной TelFrom из нижней функции в 6-ю строку верхней ф-ии?

function GiveTel(ctx){
 //Кому звонить
 var TelTo = ctx.CurrentItem.Tel.replace(/-/g, ''); 
 //var TelToOb = TelTo.replace(/-/g, '');
 TelToOb = TelToOb.replace(' ', '');
 var TelFrom = GetRestTel(); //Как сюда передать результат выполнения нижней функции?					 
 var Tellink = "'http://11.35.240.11:755/call?from="+TelFrom+"@11.35.240.11&to="+TelToOb+"@11.35.240.11&transfertype=1'";
return '<a onclick="reqC('+Tellink+');" style="cursor:pointer;background:#9E9E9E;border-color: #9E9E9E;" title="Позвонить" class="btn btn-info" style="width: 15px; float: left; background: #9E9E9E;border: 1px solid #9E9E9E;color: white;"><span class="glyphicon glyphicon-earphone" data-toggle="tooltip" data-placement="left" title="Позвонить"></span> '+TelTo+'</a>';
};



function GetRestTel() {
			var webUrl = _spPageContextInfo.webAbsoluteUrl;
			var uri = webUrl + "/_api/SP.UserProfiles.PeopleManager/GetMyProperties";
				    
				    var query = jQuery.ajax({
				        url: uri,
				        type: "GET",
				  		headers: { "Accept": "application/json; odata=verbose" },
					 success: function (data) {
 						//console.log(data);
		            	if (data.d.UserProfileProperties.results.length > 0) {
		                     TelFrom = data.d.UserProfileProperties.results[10].Value;
		                     TelFrom = TelFrom.replace(/-/g, '');
							 TelFrom= TelFrom.replace(' ', '');
							 console.log(TelFrom);
		 					}
		 					
		 					return TelFrom;
		 					
		       			},
		     		error: function (x, y, z) {
		                 console.log(JSON.stringify(x) + '\n' + JSON.stringify(y) + '\n' + JSON.stringify(z));
		             }
		         });
}

:thanks:

ksa 09.11.2016 15:21

Цитата:

Сообщение от phoenix200689
но как можно передать значение переменной TelFrom из нижней функции в 6-ю строку верхней ф-ии?

Это не "нижняя" функция. :) Это т.н. "колбек" функция. Т.е. функция, которая будет выполнена при получении положительного ответа от сервера.

Как вариант, есть синхронные запросы... А ты используешь асинхронный запрос.

Ostic 09.11.2016 20:22

success:
GiveTel.TelFrom = TelFrom;


Часовой пояс GMT +3, время: 17:23.