我使用admin-ajax.php來響應來自JavaScript的請求。WordPress管理員 - 阿賈克斯 - 推遲行動,直到發送迴應後
當我將所需的數據放在一起並返回我的響應時,我還需要將一些數據發送到外部API並向用戶發送電子郵件。這兩件事都需要一點時間。
我希望我可以做這樣的事情這將掀起動作之前通過AJAX返回JSON響應,使他們能夠在後臺實際上發生的反應是回來之後用戶:
function my_ajax_action() {
//process the $_REQUEST ajax data here
echo json_encode($results);
do_action('request_successful', $results);
wp_die();
}
......但它顯然正在等待在它死亡之前完成這些操作(因爲PHP不是異步的),並且在提供響應之前AJAX請求才會完成。
有沒有任何已知的方法推遲這些行動,直到響應完全發送後?附加到這些操作的兩個功能不需要提供響應,只需要幾秒鐘就可以在用戶瀏覽器中顯示結果所需的時間。
我在猜測我可以將它們存儲在cron作業中,很快就會發生,但我覺得很可能有人已經以更好的方式解決了這個問題。
感謝 亞倫