Я пишу функцию Javascript, которая будет вызываться приложением C#. Я могу вызвать функцию из C#, но не смог получить результат функции.Получите результаты от функции обратного вызова в Javascript
Так что имеют следующую структуру:
var B = function() {
var A = function() {
var dfd = new $.Deferred();
// do something and then return the value I need
return dfd.resolve(x);
......
return dfd.promise();
}
$.when(A()).
then(function(x) {
// I can get the x I want here.
alert(x);
// What to do at this point?
});
}
С A()
используемые асинхронные методы, я решил использовать jQuery.promise()
метод, чтобы гарантировать, что я получить окончательный результат A()
. Теперь я хочу B()
, чтобы вернуть значение x
в приложение C#. Есть ли хорошее решение для этого?
Возможный дубликат [Как выполнить функцию обратного вызова Javascript из хост-приложения C#] (http://stackoverflow.com/questions/21138740/how-can-i-execute-javascript-callback-function-from-c- sharp-host-application) –
Что означает «вернуть ... в приложение C#»? C# покинул изображение задолго до того, как JavaScript будет выполнен в браузере клиента. Вам нужно будет сделать новый HTTP-запрос для вашего приложения, возможно, со значением 'x' в качестве параметра строки запроса. – 76484
@ 76484 Итак, я просто вызываю скрипт из C#. Мое приложение синхронно, а API, который я использовал, - нет, поэтому я хочу сделать что-то, чтобы функция 'B()' отображалась как синхронная и возвращала значение после того, как все сделано в 'A()'. – dahui