iT邦幫忙

0

PHP語法 - 在不改動原始function下,如何改用非同步呼叫function ?

  • 分享至 

  • twitterImage

網上介紹Ajax、popen、fsockopen皆透過URL實現非同步呼叫,但能直接呼叫function?
我希望能像C#的async(),只要用非同步呼叫的function去呼叫自己要執行的function,而不要增加一個php file,或有其他更適合的解決方式,也請各位提供,謝謝。

舉例,原本呼叫方式:
$result = request();

function request(){
    sleep(1); 
    return 1;
}
改成非同步:
$result = async_request();

function async_request(){
    // async code start...
    request();
    // async code end...
}
原生PHP提供的辦法做不到,都得要搭配系統附帶的功能,比如創建一個子程序 pcntl_fork,或是使用 exec 呼叫 php 去執行
chan15 iT邦新手 2 級 ‧ 2021-03-03 09:48:21 檢舉
要搭 swoole
eric1223 iT邦新手 5 級 ‧ 2021-03-04 09:54:02 檢舉
感謝兩位,都是我還沒看過的方法,我如果有遇到不懂的地方,會在請教各位。
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友回答

立即登入回答