新聞中心
怎樣令js回調函數(shù)執(zhí)行完再繼續(xù)執(zhí)行?
就加個鉤子,具體參見EventEmitter2,就是實現(xiàn)了這個鉤子。
觀察者模式具體就是,有一個json object里頭放著一堆一堆的回調函數(shù),他們的key就是你自己定義的一個事件,比如heightChanged,value就是opacity函數(shù)。
每次上課一點名,老師喊height,那么opacity函數(shù)就出來了。
實現(xiàn)的時候你先實現(xiàn)一個訂閱函數(shù)on/subscribe,EventEmitter.on(heightChanged) = opacity
也就是把opacity加入到heightChanged事件的回調函數(shù)json里
再實現(xiàn)一個off/unsubscribe ,完成一個反訂閱,就是把opacity從剛才那個json里頭remove掉
再實現(xiàn)一個emit 觸發(fā)事件,EventEmitter.emit(heightChanged),觸發(fā)heightChanged事件,此時就運行了你剛才訂閱過的opacity函數(shù)
所謂鉤子是也,像吧~
但是別自己實現(xiàn)了,就用EventEmitter2或者上面說的promise/async
至于實戰(zhàn)應用,怎么放到普通函數(shù)里,看看這個吧~
使用EventEmitter2(觀察者模式)構建前端應用(一) · Issue #6 · livoras/blog

前端怎么調用后端接口?
前端調用后端接口無外乎六種方法,如下:
1、打開vs,創(chuàng)建空的asp.net mvc演示項目【W(wǎng)ebMVC】
(1)依次點擊【文件】->【新建】->【項目】;
(2)在【新建項目】界面選擇【W(wǎng)eb】->【ASP.NET Web 應用程序(.NET Framework)】,輸入名稱,選擇框架至少4.5版本,點擊【確定】按鈕;
(3)選擇【空】->【MVC】->【確定】 ;
(4)創(chuàng)建好了項目。
2、在項目中
(1)在Controllers文件夾上點擊鼠標右鍵,依次選擇【添加】->【控制器】,即可完成HomeController的創(chuàng)建;
(2)在Controller的Index方法內,點擊鼠標右鍵,選擇【添加視圖】;
(3)在項目中添加文件夾【Content】并添加jquery源文件;
在前端調用后端接口通常使用以下步驟:
定義后端接口:首先,后端開發(fā)人員需要定義接口的URL和請求方式(例如:GET、POST、PUT、DELETE等)。接口定義應包括所需的參數(shù)、請求體、請求頭等信息。
發(fā)起網(wǎng)絡請求:在前端代碼中,你可以使用瀏覽器提供的內置方法(例如:XMLHttpRequest對象或Fetch API)來發(fā)起網(wǎng)絡請求。你也可以使用一些常用的JavaScript庫(例如:Axios、jQuery.ajax等)來簡化請求的過程。
構建請求:根據(jù)接口定義,構建請求的URL、請求體、請求頭等信息。請求的URL應該與后端定義的接口URL一致,并包含所需的查詢參數(shù)(如果有的話)。
發(fā)送請求:使用上述選擇的網(wǎng)絡請求方法發(fā)送請求。如果使用原生的JavaScript方法,可以創(chuàng)建一個新的XMLHttpRequest對象,設置請求方法、URL和請求頭,然后使用send方法發(fā)送請求。如果使用Axios等庫,你可以直接調用相應的方法,傳遞請求參數(shù)并發(fā)送請求。
到此,以上就是小編對于前端promise的作用的問題就介紹到這了,希望這2點解答對大家有用。
新聞標題:前端promise用來解決哪些問題
路徑分享:http://www.fisionsoft.com.cn/article/djdjdeo.html


咨詢
建站咨詢
