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

鍍金池/ 問答
撥弦 回答

是不是每個月份的三十號都有問題

網(wǎng)妓 回答

Promise適合做一些順序執(zhí)行的事情,簡單來說就是適合完成一個事件后再去執(zhí)行另外一件事情(并不單指執(zhí)行下一個then).如果要進(jìn)行帶容錯處理的鏈?zhǔn)秸{(diào)用,例如判斷一個文件是否存在,then部分和catch部分執(zhí)行代碼不一樣,則必須保證then和catch返回的Promise也是相同的,不然下一個then中必須判斷執(zhí)行的是哪個分支才可以執(zhí)行相應(yīng)的代碼.這會變得十分繁瑣而且也偏離我們使用Promise的本意.

實(shí)際上對于一個問題的結(jié)果,例如操作一個文件,我們只關(guān)心其結(jié)果,完成或者沒有完成.但是獲取這個結(jié)果需要很多個步驟,每個步驟都是有可能出錯的,而且出錯也有相應(yīng)的修復(fù)邏輯

/**
 * 判斷一個文件是否存在
 *    存在            不存在
 *    打開             創(chuàng)建
 * 讀取  打不開     打開   創(chuàng)建不了
 *        報錯              報錯  (假設(shè)到這一層就不執(zhí)行操作了)
 */

完成上面的邏輯,單純用Promise來寫,將會變得十分繁瑣,保證Promise最后一個then或者catch是我們要的結(jié)果下,
任何比正常邏輯多出的分支必須在一個then或者catch里寫完才可以保證最后的結(jié)果只有一個,例如上面部分邏輯的偽代碼

            hasfile.then(()=>{
                //返回不同效果的Promise,并且包含flag
            let Pro=new Promise(/*對應(yīng)后續(xù)打開文件的代碼*/);
                return {
                    hasfile:true,
                    pro:pro
                }
            }).catch(()=>{
                let Pro=new Promise(/*對應(yīng)后續(xù)創(chuàng)建文件的代碼*/);
                return {
                    hasfile:false,
                    pro:pro
                }
            }).then((result)=>{
                //這個時候執(zhí)行的Promise是不一樣的
                if(result.flag){
                    //如果還想繼續(xù)鏈?zhǔn)秸{(diào)用
                    //只能繼續(xù)包裝一個Promise對象并返回
                    //如果直接把result.pro的Promise執(zhí)行,那么鏈?zhǔn)秸{(diào)用就到此結(jié)束
                    
                    return new Promise((resolve,reject)=>{
                        //這里執(zhí)行的是打開的代碼,但是代碼本體卻是在上一個
                        //then里寫的
                        result.then((file)=>{
                            resolve(file);
                        }).catch((err)=>{
                            reject(err)
                        })
                    })
                }else{
                    
                }
            })

結(jié)果就是,Promise不適合干帶有過多邏輯分支或者循環(huán)的異步,不然要Generator和async干嘛

不二心 回答

Kill之后應(yīng)該又重啟了。

關(guān)閉Redis的正確姿勢

/etc/init.d/redis-server stop

# or
service redis-server stop

如果是MAC

redis-cli shutdown
舊酒館 回答

babel只是按照你配置的環(huán)境進(jìn)行轉(zhuǎn)碼了啊,所謂的轉(zhuǎn)碼其實(shí)也就是把一些瀏覽器不支持的新語法,轉(zhuǎn)換成老語法.

你的問題是問你要如何做到兼容所有版本瀏覽器嗎? 還是不知道babel如何按照瀏覽器轉(zhuǎn)碼?

  1. 兼容所有瀏覽器只需要兼容低版本就可以了,因?yàn)閖s大部分特性是可以做到向下兼容的.也就是新瀏覽器仍然支持老語法.

  2. babel按照你輸入的瀏覽器版本和其他條件,去查詢對應(yīng)的js支持版本,然后找到所有條件下支持的最高級別Js版本,轉(zhuǎn)碼到該版本.轉(zhuǎn)碼過程跟瀏覽器沒有任何關(guān)系,只是在node環(huán)境中進(jìn)行.

陪她鬧 回答

中序遍歷和后序遍歷里面你調(diào)用的是先序遍歷函數(shù), 當(dāng)然會錯...
另外, 用markdown把代碼貼貼好.

落殤 回答

線上環(huán)境里面不會熱更新吧.所以更新數(shù)據(jù)放在created里面就好,如果你要熱更新,可以把獲取數(shù)據(jù)放在mounted里面.不過線上可能會有閃屏.

故人嘆 回答

add3寫法有問題,如果你要想返回一個其他的函數(shù)或者計算后的值,請這樣

  add3: ((a,b) => {
        b = this.ad(b)
        return a+b;
    })(1,2)
薄荷綠 回答

修改webpack.base.config.js 中build項(xiàng)的assetsPublicPath為絕對路徑,就可以了。
assetsPublicPath: '/'

愛是癌 回答

EditableCellAuto叫組件。react中都是組件
當(dāng)然可以定義到class中。如果就一個class使用,就定義到class中,如果多個地方使用,就定義到外面,然后export出去。
組件之間的方法互調(diào):
父組件調(diào)用子組件的方法,可以使用refs。子組件調(diào)用父組件的方法,直接將方法傳入到子組件中,在子組件中回調(diào)就可以了。
參考資源,當(dāng)然是react官方文檔了。

艷骨 回答

Function.prototype 本身也是個函數(shù)對象,這是為了兼容 ES5。也估計是讓人引起誤解的源頭。但兩者還是不同的,這是個特殊的函數(shù)對象,它忽略參數(shù)總是返回 undefined,且沒有 [[Construct]] 內(nèi)部方法。

完整的說明 https://blog.crimx.com/2017/0...

執(zhí)念 回答

請用.gitignore忽略掉node_modules目錄,這樣就不會再你的這個github軟件中出現(xiàn)了

款爺 回答

super() 就是找爹

super().__init__(...) 就是說:"爹,先執(zhí)行一下你的__init__方法,等你干完了我再來做我的事。"

用途就是,你繼承一個父類了,原先父類的初始化方法里有很多東西,你又不打算自己重新寫一遍,那就叫父類先執(zhí)行原來的邏輯,再執(zhí)行后邊的。

吃藕丑 回答

這里由babel負(fù)責(zé)實(shí)現(xiàn),需要在.babelrc中添加babel-plugin-syntax-dynamic-import

https://babeljs.io/docs/plugi...

=== 更新 ===

之前的回答是錯的,webpack2及以上原生支持dynamic-import,不需要額外的babel插件
相關(guān)issue : https://github.com/webpack/we...
feature PR : https://github.com/webpack/we...

萌吟 回答

1、題主第一個問題:想這樣:

在某個條件分支下創(chuàng)建一個函數(shù),并且只在這個分支內(nèi)使用。

所以寫出下面代碼:

if (true) {
    // 在某個條件分支下創(chuàng)建一個函數(shù),并且只在這個分支內(nèi)使用。
    function a() {
        // code...
    }
    a();
}

但是,題主如果在 if 語句塊之外訪問函數(shù) a,是可以的,因?yàn)?/p>

ES6 在非嚴(yán)格模式下塊級函數(shù)的作用域會被提升到所在函數(shù)或全局環(huán)境的頂部,而不是代碼塊的頂部。

所以下面代碼不會報錯:

if (true) {
    // 在某個條件分支下創(chuàng)建一個函數(shù),并且只在這個分支內(nèi)使用。
    function a() {
        // code...
    }
    a();
}
a;//返回函數(shù) a 

所以,題主想要的

在某個條件分支下創(chuàng)建一個函數(shù),并且只在這個分支內(nèi)使用

非嚴(yán)格模式下,并沒有實(shí)現(xiàn),或者說,看起來實(shí)現(xiàn)了,但實(shí)際上沒有,反而造成了全局變量污染且容易引起歧義;

嚴(yán)格模式下,是實(shí)現(xiàn)了的,也就是說,上面的函數(shù) a 只能在 if 語句塊內(nèi)訪問,因?yàn)?/p>

ES6 會將 a() 函數(shù)視為塊級聲明,并允許它在定義所在的代碼塊內(nèi)部被訪問,且塊級函數(shù)會被提升到所在代碼塊的頂部

2、題主的第二個問題:

是不是在ES6之前,這樣聲明是語法錯誤?

答:

在 ES3 或更早版本中,在代碼塊中聲明函數(shù)(即塊級函數(shù))嚴(yán)格來說應(yīng)當(dāng)是一個語法錯誤,但所有的瀏覽器卻都支持該語法??上У氖?,每個支持該語法的瀏覽器都有輕微的行為差異,所以最佳實(shí)踐就是不要在代碼塊中聲明函數(shù)(更好的選擇是使用函數(shù)表達(dá)式)。

為了控制這種不兼容行為, ES5 的嚴(yán)格模式為代碼塊內(nèi)部的函數(shù)聲明引入了一個錯誤

3、題主的第三個問題:

另外,我會把這個函數(shù)保持在它被調(diào)用之前,這樣就不會發(fā)生變量提升了。

題主請先去了解下函數(shù)聲明語句的變量提升,題主的這句話代表題主并不理解變量提升;

clipboard.png

4、題主的第四個問題:

其實(shí)我很郁悶,因?yàn)槲业拇a要根據(jù)不同場景執(zhí)行不同的代碼,有些函數(shù)只在某一個場景下使用。按照這個標(biāo)準(zhǔn)的話要把大量函數(shù)移出來,結(jié)果就是聲明的這些函數(shù)有很多根本沒有被調(diào)用。這樣是不是會多占用資源?

這個不太清楚,我粗淺的認(rèn)為不會,因?yàn)?js 有垃圾回收機(jī)制,如果沒有閉包,正常情況下都會被垃圾回收掉的,閉包題主請單獨(dú)查資料,或者戳這

參考:深入理解ES6-中-非掃描版

傲嬌范 回答

你的 UserService 不在 com.marx.config 包下面吧?
你的配置只掃描 com.marx.config 這一個包。。
UserService 沒在這個包下面沒有掃描到所以沒有創(chuàng)建唄