java 異步回調(diào) 為什么NodeJS的回調(diào)會被稱為地獄?
為什么NodeJS的回調(diào)會被稱為地獄?nodejs中提供的所有異步操作都使用回調(diào)函數(shù),例如fs.readFile文件(“file name”,函數(shù)(err,data){!在前端模式下沒有問題。DOM事
為什么NodeJS的回調(diào)會被稱為地獄?
nodejs中提供的所有異步操作都使用回調(diào)函數(shù),例如fs.readFile文件(“file name”,函數(shù)(err,data){
!在前端模式下沒有問題。DOM事件相對獨立或者需要多個事件協(xié)同
但是對于節(jié)點來說,事務(wù)中有很多異步調(diào)用的場景。例如,目錄遍歷操作的代碼如下:
}
]當然,這是一個更好的情況。很多時候,業(yè)務(wù)邏輯非常復(fù)雜,嵌套層的數(shù)量更多。這是不容易閱讀和理解的代碼,這是非?;靵y的dns.承諾
例如,可以按以下方式編寫:
const FS=require(“FS”)。允諾
異步函數(shù)main(){
const data=awaitfs.readfile文件作為一個it從業(yè)者和計算機專業(yè)教育者,讓我來回答這個問題。
首先,編程語言本身與應(yīng)用場景有著密切的關(guān)系。通常,不同的開發(fā)場景會使用不同的編程語言,所以編程語言種類繁多,總共有600種左右。有幾十種比較常見的編程語言,其中Java、Python和PHP是比較常見的編程語言。
編程語言之間沒有直接關(guān)系,但在相同的技術(shù)架構(gòu)下,多種編程語言可以協(xié)作。例如,人工智能平臺可以使用java開發(fā),但是在開發(fā)特定的應(yīng)用程序時,可以使用python語言。
從應(yīng)用場景的角度來看,Java和python屬于全場景編程語言,可以應(yīng)用在很多開發(fā)場景中,如web開發(fā)、大數(shù)據(jù)開發(fā)、移動互聯(lián)網(wǎng)開發(fā)、物聯(lián)網(wǎng)開發(fā)等。目前,在大數(shù)據(jù)和人工智能領(lǐng)域,Python的應(yīng)用更為廣泛。隨著大數(shù)據(jù)和人工智能的發(fā)展,Python語言在未來的發(fā)展前景十分廣闊。
PHP語言的主要應(yīng)用場景是web開發(fā)。雖然應(yīng)用場景比較單一,但是由于PHP語言在web開發(fā)領(lǐng)域的高份額,使得web開發(fā)領(lǐng)域有大量的PHP程序員。雖然目前移動開發(fā)已經(jīng)取得了快速的發(fā)展,開發(fā)規(guī)模比較大,但是PHP仍然是比較重要的編程語言之一。對于基礎(chǔ)薄弱的初學(xué)者來說,從PHP開始也是一個不錯的選擇。
最后,對于程序員來說,在程序開發(fā)過程中,通常需要掌握多種編程語言來處理不同的開發(fā)場景。
計算機編程語言有DW,PHP,Java,python等它們都有什么關(guān)系?
比這更好節(jié)點.js好多了。