在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/HTML/ 網(wǎng)站中的定時(shí)提醒是如何實(shí)現(xiàn)的?

網(wǎng)站中的定時(shí)提醒是如何實(shí)現(xiàn)的?

不知道要如何實(shí)現(xiàn),后端是nodejs,
如果是 在這一刻開(kāi)始 定時(shí)多久以后進(jìn)行操作,可以直接在前端使用setTimeout(還要保證網(wǎng)站不被關(guān)閉),
但是有可能是設(shè)置 比如說(shuō) 每天早上8點(diǎn),向用戶發(fā)送一條信息。
所以理論上來(lái)說(shuō)要在服務(wù)器端設(shè)置,
請(qǐng)問(wèn)下大概要什么思路?

不是nodejs的也可以。主要沒(méi)思路。

回答
編輯回答
玩控

為什么不去百度啊~ 一堆

http://blog.csdn.net/haorengoodman/article/details/23281343/
https://www.cnblogs.com/peida/archive/2013/01/08/2850483.html
2018年5月17日 00:30
編輯回答
逗婦乳

如果你不需要嚴(yán)格的實(shí)時(shí)更新設(shè)置,或者可以通過(guò)用戶操作來(lái)更新,那么你可以用輪詢的方式,就是定時(shí)器每隔一分鐘發(fā)一個(gè)請(qǐng)求到后端獲取設(shè)置的時(shí)間。

如果你需要設(shè)置完就生效,可以用長(zhǎng)輪詢的方式,這個(gè)也是微信網(wǎng)頁(yè)版在用的方法。和上面的輪詢一樣是發(fā)請(qǐng)求,但是你后端不要馬上返回響應(yīng),而是定時(shí)器等待20秒,如果沒(méi)有檢測(cè)到數(shù)據(jù)更新,那么返回一個(gè)超時(shí),如果期間數(shù)據(jù)有更新,那就馬上返回一個(gè)響應(yīng)并且關(guān)掉定時(shí)器。而前端在收到響應(yīng)或者超時(shí)的時(shí)候,重新發(fā)一個(gè)請(qǐng)求過(guò)去,這樣就可以保證隨時(shí)可以收到服務(wù)器的響應(yīng)。

HTML5還有webscoket可以實(shí)施通信,這個(gè)只需要連接一次服務(wù)器就可以隨時(shí)發(fā)數(shù)據(jù)到前端。

你看看哪個(gè)比較適合你用吧

2018年3月2日 00:34
編輯回答
話寡

真巧,又看到你的問(wèn)題了
定時(shí)發(fā)送消息應(yīng)該不是client做的,比如早上八點(diǎn)如果用戶沒(méi)上網(wǎng)站咋辦
應(yīng)該是在服務(wù)端定時(shí)向用戶信息數(shù)據(jù)庫(kù)(或者redis)里插入數(shù)據(jù)
這樣用戶在進(jìn)入網(wǎng)站后就能在用戶中心(假設(shè)有)通過(guò)接口獲取出這條消息
或者用戶已經(jīng)進(jìn)入網(wǎng)站了,通過(guò)定時(shí)器以不影響瀏覽器效率的頻率n下,定時(shí)向服務(wù)器查詢是否有新消息
思路應(yīng)該是這樣的
至于怎么實(shí)現(xiàn)定時(shí)插入數(shù)據(jù),如果是nodejs的話,現(xiàn)在比較好用的是node-schedule庫(kù)
具體可以看下它的npm或者github

2017年2月24日 12:09