我需要使函數(shù) s_settings 不停止程序,我在異步函數(shù)中調(diào)用此函數(shù),在set_settings我將數(shù)據(jù)send_settings發(fā)送到服務(wù)器時(shí)從服務(wù)器獲取數(shù)據(jù)。我無法使方法(set_settings 和 send_settings)異步。但我需要使這個(gè)功能非阻塞def s_settings(id, _user_settings, all_settings): if 'category' in set_settings(str(id)): _user_settings[str(id)] = set_settings(str(id)) # Get from the Server print(user_settings) _user_settings[str(id)]['category'].append( all_settings[str(id)]['category']) _user_settings[str(id)]['time_to_receive'].append( all_settings[str(id)]['time_to_receive']) _user_settings[str(id)]['language'].append(all_settings[str(id)]['language']) send_settings(_user_settings[str(id)], str(id)) # Send to the server
2 回答

楊魅力
TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超6個(gè)贊
嗯,這是一個(gè)無賴。您必須將此函數(shù)建模為協(xié)程。但是由于您不能依靠事件循環(huán)來send_settings
為您輪詢阻塞函數(shù)調(diào)用,您可以生成一個(gè)單獨(dú)的線程來執(zhí)行該函數(shù)。您的協(xié)程應(yīng)該是非阻塞的,可以通過一種方式輪詢?cè)摼€程并獲得結(jié)果。這可能是一個(gè)相當(dāng)復(fù)雜的實(shí)現(xiàn)。
添加回答
舉報(bào)
0/150
提交
取消