Node.js實現(xiàn)鏈?zhǔn)交卣{(diào)
由于異步的關(guān)系,代碼的書寫順序可能和執(zhí)行順序并不一樣,可能想先執(zhí)行A再執(zhí)行B,但由于異步可能B要先于A執(zhí)行.例如在OC中使用AFnetworking請求數(shù)據(jù)然后刷新頁面,由于網(wǎng)絡(luò)請求是用block實現(xiàn)的異步方法,所以刷新的時候并沒有數(shù)據(jù),為了解決這個問題,一般會在請求響應(yīng)結(jié)束在block中刷新頁面(這就回出現(xiàn)循環(huán)引用的問題,不過node中不會出現(xiàn)).
上面是OC中異步執(zhí)行中的鏈?zhǔn)交卣{(diào),在node.js中也是使用這樣的方法在回調(diào)中調(diào)用方法來實現(xiàn)鏈?zhǔn)交卣{(diào)。
function logCar(car,callback) { console.log("Saw a %s",car); process.nextTick(callback); } function logCars(cars) { var car=cars.pop(); if (cars.length) { logCar(car,function(){ logCars(cars);; }); } } var cars = ["Ferrari", "Porsche", "Bugatti", "Lamborghini", "Aston Martin"]; logCars(cars);
輸出結(jié)果:
"C:\Program Files (x86)\JetBrains\WebStorm 11.0.3\bin\runnerw.exe" F:\nodejs\node.exe callback_chain.js
Saw a Aston Martin
Saw a Lamborghini
Saw a Bugatti
Saw a PorscheProcess finished with exit code 0
到此這篇關(guān)于Node.js實現(xiàn)鏈?zhǔn)交卣{(diào)的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Node.js Continuation Passing Style( CPS與回調(diào))
- Node.js基礎(chǔ)入門之回調(diào)函數(shù)及異步與同步詳解
- 如何將Node.js中的回調(diào)轉(zhuǎn)換為Promise
- Node.js 回調(diào)函數(shù)實例詳解
- node.js實現(xiàn)回調(diào)的方法示例
- 深入理解Node.js 事件循環(huán)和回調(diào)函數(shù)
- 剖析Node.js異步編程中的回調(diào)與代碼設(shè)計模式
- node.js回調(diào)函數(shù)之阻塞調(diào)用與非阻塞調(diào)用
- 我的Node.js學(xué)習(xí)之路(三)--node.js作用、回調(diào)、同步和異步代碼 以及事件循環(huán)
相關(guān)文章
基于Node的Axure文件在線預(yù)覽的實現(xiàn)代碼
這篇文章主要介紹了基于Node的Axure文件在線預(yù)覽的實現(xiàn)代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08Node.js實現(xiàn)讀取Excel數(shù)據(jù)并插入MySQL
這篇文章主要為大家詳細(xì)介紹了Node.js如何實現(xiàn)讀取Excel數(shù)據(jù)并插入到MySQL數(shù)據(jù)庫中,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-11-11Node.js利用Net模塊實現(xiàn)多人命令行聊天室的方法
Node.js Net 模塊提供了一些用于底層的網(wǎng)絡(luò)通信的小工具,包含了創(chuàng)建服務(wù)器/客戶端的方法,下面這篇文章主要給大家介紹了Node.js利用Net模塊實現(xiàn)命令行多人聊天室的方法,有需要的朋友們可以參考借鑒,下面來一起看看吧。2016-12-12node使用Mongoose類庫實現(xiàn)簡單的增刪改查
Mongoose是在nodejs環(huán)境中對MongoDB數(shù)據(jù)庫操作的封裝,這篇文章主要介紹了node使用Mongoose類庫實現(xiàn)簡單的增刪改查,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-11-11Bun入門學(xué)習(xí)教程吊打Node或Deno的現(xiàn)代JS運(yùn)行時
這篇文章主要為大家介紹了一款吊打Node或Deno的現(xiàn)代JS運(yùn)行時,Bun入門學(xué)習(xí)教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07