Я делаю последовательность вызовов Ajax с использованием модуля Ext.Direct. Я хочу сохранить некоторые данные при каждом вызове, а затем сопоставить каждое возвращаемое значение с правильным вызовом.Ext.Direct: сопоставление возвращаемых значений с вызовами
В вызове сервера Ext предоставляет свойство tid
(предположительный «идентификатор транзакции») в пакете JSON, в котором он использует возвращаемые значения соответствия для вызовов. Проблема в том, что не существует документально зарегистрированного пути для моего клиентского Javascript для захвата tid
исходящего вызова.
Этот метод работает, но использует недокументированное свойство Ext.Direct.TID
. Если предположить, что my.namespace.my_action.my_method
является API вызова Ext.Direct, который был настроен правильно:
// Set up a global object in which to store data about pending calls
pendingCalls = {};
.
.
.
// Make a call to the server-side routine, and queue the data
my.namespace.my_action.my_method(call_data);
pendingCalls[ Ext.Direct.TID ] = call_data;
.
.
.
//The handler of the Ext.direct.Provider's "data" event
onData = function(provider, data) {
if data.type == "rpc" {
// Recover the original call_data
call_data = pendingCalls[ data.tid ];
// Do something with call_data and data.result
}
}
Я не люблю использовать частные внутренностей класса Ext.Direct. Есть ли официальный способ сделать это, используя открытый интерфейс Ext.Direct?