Мой концентратор: (упрощенный)Javascript Signalr клиент не ожидает ответа сервера
public string BPF(string m1, string m2)
{
r = BiPoint4Clases.BiPoint4.getString(BP4Engine.Startup.cnxString, m2);// this gets a String from SQL Server accordig query passed on m2 hub parameter.
return r;
}
catch(Exeption e)
{
// manage exeptions. ....
}
Мои Javascript клиент:
function GetString(z){
bip.server.BPF("gS",z).done(function(result){array.push(result)});
}
//calling function to get string
GetString("select top 1 u from users");
alert(array);
//This returns nothing....
//function GetString, returns after .done() pushes result on array
Как я могу ждать ответа сервера для JavaScript функции вызова ступиц возвращается ,
Пробовано с $.Deferred , $.when().then
, но нет результатов.
не работает, потому что signalr хаб (bip.server ....) –
я опробованный, но Безразлично Не работай. Концентратор SIGNALR возвращает результат по отложенному результату (результат) bip.server.BPF («gS», «select bla blabla ....»). Done (function (r) {! Here are result ...})) ; Если я вызываю bip.server.BPF («gS», «select bla blabla ....») без .done() никогда не сможет найти результат. (Извините за мой бедный английский) –
продолжают: в GetString ("выбрать топ 1 U от пользователей") сделано (функция (г) { Array.push (г);});. // !!!!!!!! r НЕ ОПРЕДЕЛЕННЫЙ ОБЪЕКТ, а не строка, как ожидалось !!!! –