web-dev-qa-db-fra.com

API Heartbeat: Comment accéder aux données déjà mises en file d'attente?

J'ai des problèmes pour accéder aux données que j'ai mises en file d'attente à l'aide de l'API Heartbeat.

Je file des données en utilisant wp.heartbeat.enqueue(). Par exemple:

var data = { 
    my_key: 'value'
};
wp.heartbeat.enqueue( 'my_handle', data, false );

Plus tard dans mon script, j'aimerais accéder aux données que j'ai mises en file d'attente. Par exemple:

$( document ).on( 'click', '#button', function() {
    // Here, I want to access the data I've enqueued.
});

J'ai essayé de faire ce qui suit mais ça ne marche pas:

$( document ).on( 'click', '#button', function() {
    var my_data = wp.heartbeat.getQueuedItem( 'my_handle' );
    alert( my_data.data.my_key );
});

En espérant que quelqu'un puisse suggérer où je vais mal?

1
henrywright

J'ai trouvé que la solution à mon problème était de changer my_data.data.my_key en my_data.my_key. Par exemple:

$( document ).on( 'click', '#button', function() {
    var my_data = wp.heartbeat.getQueuedItem( 'my_handle' );
    alert( my_data.my_key );
});

Les données en file d'attente sont facilement accessibles maintenant.

2
henrywright