成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

Emberjs 如何與后端服務(wù)進(jìn)行交互-Store/Adapter/Serializer的作用

HackerShell / 2495人閱讀

摘要:返回?cái)?shù)據(jù)請(qǐng)求流程后端返回的數(shù)據(jù)首先也會(huì)經(jīng)過(guò)上面的處理其次經(jīng)過(guò)返回進(jìn)將數(shù)據(jù)存儲(chǔ)起來(lái)后返回請(qǐng)求數(shù)據(jù)的地方。至此一個(gè)請(qǐng)求后端數(shù)據(jù)的請(qǐng)求的流程就到此結(jié)束了。例如等以及官方推薦最少要復(fù)寫(xiě)的方法

Emberjs 如何與后端服務(wù)進(jìn)行交互

@[toc]

一般發(fā)送請(qǐng)求流程

首先來(lái)看這張圖:

可以看到:

在應(yīng)用中 application 中的 Route 或者 controller 會(huì)發(fā)送數(shù)據(jù)請(qǐng)求 ;

請(qǐng)求并沒(méi)有直接發(fā)送到后端服務(wù)器(The Cloud ) 中,而是先在store 的緩存中進(jìn)行查找;

如果請(qǐng)求的數(shù)據(jù)在 store 中,則直接返回到請(qǐng)求的地方;如果 store 中沒(méi)有要請(qǐng)求的數(shù)據(jù),那么將繼續(xù)向上請(qǐng)求;

也就是到達(dá)了 Adapter 這一層,在這里,adapter 會(huì)根據(jù)用戶設(shè)置 1 構(gòu)建出請(qǐng)求的 URL 等數(shù)據(jù),并使用 原生或用戶復(fù)寫(xiě)的方法將請(qǐng)求發(fā)送到后端;

在這一步,adapter 會(huì)檢查發(fā)送的數(shù)據(jù)與后端接受的數(shù)據(jù)的差異,如果不同,會(huì)通過(guò)進(jìn)一步的處理,包含 key 的名稱(chēng)會(huì)在 serializer.js 文件中進(jìn)行處理。

返回?cái)?shù)據(jù)請(qǐng)求流程

后端返回的數(shù)據(jù)首先也會(huì)經(jīng)過(guò)上面的處理;

其次經(jīng)過(guò) adapter 返回進(jìn) Store;

Store 將數(shù)據(jù)存儲(chǔ)起來(lái)后返回請(qǐng)求數(shù)據(jù)的地方。

至此一個(gè)請(qǐng)求后端數(shù)據(jù)的請(qǐng)求的流程就到此結(jié)束了。但是如果 Store 中有要請(qǐng)求的數(shù)據(jù)呢?那就會(huì)發(fā)生下圖的情況:

從緩存讀取流程

也就是發(fā)送數(shù)據(jù)請(qǐng)求之后,在 Store中查詢到記錄,然后返回 promise;

展示數(shù)據(jù)。結(jié)束。

Written By Frank Wang.
  • 例如 backend host, URL format ( namespace)等以及官方推薦最少要復(fù)寫(xiě)的方法:findRecord() ,createRecord(),updateRecord(),deleteRecord(),findAll(),query(). ?

  • 文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

    轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/106074.html

    相關(guān)文章

    • Ember.js如何后端服務(wù)交互?adapterstore、ember data關(guān)系揭秘

      摘要:目前打算本項(xiàng)目使用種數(shù)據(jù)交互方式一種是,一種是。要理解后端服務(wù)的關(guān)系我們從他們各自的概念入手。創(chuàng)建服務(wù)端如何在項(xiàng)目中創(chuàng)建服務(wù)端程序呢提供了創(chuàng)建的命令。 文章來(lái)源:Ember Teach 本項(xiàng)目講解如何使用adapter、EmberData以及怎么連接到本地?cái)?shù)據(jù)庫(kù)。 項(xiàng)目簡(jiǎn)介 主要內(nèi)容 適配器使用 如何持久化數(shù)據(jù)到本地?cái)?shù)據(jù)庫(kù) 簡(jiǎn)單的后端服務(wù) 最近經(jīng)常有初學(xué)的開(kāi)發(fā)者請(qǐng)教有關(guān)Adapte...

      huhud 評(píng)論0 收藏0
    • 前端如何高效后端協(xié)作開(kāi)發(fā)

      摘要:移動(dòng)端應(yīng)用一般都運(yùn)行在微信瀏覽器中中手機(jī)瀏覽器中。因?yàn)槲⑿艦g覽器是定制的瀏覽器,一般的遠(yuǎn)程調(diào)試方式都不可用,需要配合特定的工具,如微信開(kāi)發(fā)者工具。 前端如何高效的與后端協(xié)作開(kāi)發(fā) 1. 前后端分離 前端與后端的分離,能使前端的開(kāi)發(fā)脫離后端的開(kāi)發(fā)模式,擁有更大的自由度,以此便可做前端工程化、組件化、單頁(yè)面應(yīng)用等。 可以參考:前后端分離、web與static服務(wù)器分離 2. 盡量避免后端模板...

      rozbo 評(píng)論0 收藏0
    • 前端如何高效后端協(xié)作開(kāi)發(fā)

      摘要:移動(dòng)端應(yīng)用一般都運(yùn)行在微信瀏覽器中中手機(jī)瀏覽器中。因?yàn)槲⑿艦g覽器是定制的瀏覽器,一般的遠(yuǎn)程調(diào)試方式都不可用,需要配合特定的工具,如微信開(kāi)發(fā)者工具。 前端如何高效的與后端協(xié)作開(kāi)發(fā) 1. 前后端分離 前端與后端的分離,能使前端的開(kāi)發(fā)脫離后端的開(kāi)發(fā)模式,擁有更大的自由度,以此便可做前端工程化、組件化、單頁(yè)面應(yīng)用等。 可以參考:前后端分離、web與static服務(wù)器分離 2. 盡量避免后端模板...

      learning 評(píng)論0 收藏0
    • Emberjs中JSONAPISerializer常用API

      摘要:默認(rèn)使用,在我們的項(xiàng)目中也是使用所以只是涉及關(guān)于的相關(guān)內(nèi)容。這樣來(lái)達(dá)到前后端通信的要求。這個(gè)方法可以在中定義特定的來(lái)針對(duì)調(diào)用。同理,其他的更新刪除相似至此的相關(guān)屬性與已解釋完成。 Ember Serializer Emberjs 默認(rèn)使用 JSONAPISerializer ,在我們的項(xiàng)目中也是使用JSONAPISerializer.所以只是涉及關(guān)于 JSONAPISerializer...

      channg 評(píng)論0 收藏0
    • web前端(1)——了解什么是前端,以及后端關(guān)系

      摘要:簡(jiǎn)介什么是前端說(shuō)這個(gè)之前,我們先了解前端工程師是干什么的,百度百科的解釋前端開(kāi)發(fā)工程師,主要職責(zé)是利用等各種技術(shù)進(jìn)行客戶端產(chǎn)品的開(kāi)發(fā)。簡(jiǎn)介 1.什么是web前端 說(shuō)這個(gè)之前,我們先了解web前端工程師是干什么的,百度百科的解釋?zhuān)? Web前端開(kāi)發(fā)工程師,主要職責(zé)是利用(X)HTML/CSS/JavaScript/Flash等各種Web技術(shù)進(jìn)行客戶端產(chǎn)品的開(kāi)發(fā)。完成客戶端程序(也就是瀏覽器端...

      番茄西紅柿 評(píng)論0 收藏0

    發(fā)表評(píng)論

    0條評(píng)論

    HackerShell

    |高級(jí)講師

    TA的文章

    閱讀更多
    最新活動(dòng)
    閱讀需要支付1元查看
    <