Promise(fun_father)函數(shù)里包含了Promise(fun_son)函數(shù),如果fun_father先resolve(),此時(shí)fun_son還沒執(zhí)行完,那么fun_son是會(huì)繼續(xù)執(zhí)行下去,還是終止?let status= 0const fun_father= () => { return new Promise((resolve, reject) => {
fun_son().then(() => {
status= 1
}) //例如請(qǐng)求之類的異步方法......
resolve("fun_father done")
})
}const fun_son = () => { return new Promise((resolve ,reject) => { //例如請(qǐng)求之類的異步方法......
resolve("fun_son done")
})
}
fun_father().then(msg => { console.log(msg)
})在寫項(xiàng)目時(shí)碰到這種情況,簡(jiǎn)化后就是類似上面一樣,我是希望能打印出"fun_father done",并且status也能改變?yōu)?。 這么寫后,領(lǐng)導(dǎo)和我說如果fun_son執(zhí)行得比fun_father快就沒問題,但是如果反之,則會(huì)因?yàn)閒un_father返回了,內(nèi)存釋放,fun_son就會(huì)終止執(zhí)行。我對(duì)此還是有存疑的,但是自己試驗(yàn)的話沒有好的測(cè)試異步方法(循環(huán)沒用),setTimeout 是可以的,但不能完全說明。所以想請(qǐng)教大佬們,這樣的寫法是否可行。
關(guān)于Promise的內(nèi)存釋放問題
慕碼人2483693
2019-02-12 23:12:16