做爰高潮a片〈毛片〉,尤物av天堂一区二区在线观看,一本久久A久久精品VR综合,添女人荫蒂全部过程av

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

JavaScript中使用Async實現(xiàn)異步控制

來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 22:32:47
文檔

JavaScript中使用Async實現(xiàn)異步控制

JavaScript中使用Async實現(xiàn)異步控制:async官方DOC 介紹 node安裝 npm install async --save 使用 var async = require('async') js文件 github.com/caolan/asyn… async提供了很多函數(shù)用于異步流程控制,下面是async核心的幾個函數(shù),完整的函數(shù)請看async官方DOC async.
推薦度:
導(dǎo)讀JavaScript中使用Async實現(xiàn)異步控制:async官方DOC 介紹 node安裝 npm install async --save 使用 var async = require('async') js文件 github.com/caolan/asyn… async提供了很多函數(shù)用于異步流程控制,下面是async核心的幾個函數(shù),完整的函數(shù)請看async官方DOC async.

async官方DOC

介紹

node安裝

npm install async --save

使用

var async = require('async')

js文件

github.com/caolan/asyn…

async提供了很多函數(shù)用于異步流程控制,下面是async核心的幾個函數(shù),完整的函數(shù)請看async官方DOC

async.map(['file1','file2','file3'], fs.stat, function(err, results) {
 // results is now an array of stats for each file
 });
 async.filter(['file1','file2','file3'], function(filePath, callback) {
 fs.access(filePath, function(err) {
 callback(null, !err)
 });
 }, function(err, results) {
 // results now equals an array of the existing files
 });
 async.parallel([
 function(callback) { ... },
 function(callback) { ... }
 ], function(err, results) {
 // optional callback
 });
 async.series([
 function(callback) { ... },
 function(callback) { ... }
 ]);

series串行

series 的作用就是按照順序一次執(zhí)行。

async.series([
 function(callback) {
 setTimeout(function() {
 callback(null, 1)
 }, 2000);
 },
 function(callback) {
 callback(null, 2);
 }],
 function(err, results) {
 console.log(results);
 });

輸出結(jié)果為

[ 1, 2 ]

series 函數(shù)的第一個參數(shù)可以是一個數(shù)組也可以是一個JSON對象,參數(shù)類型不同,影響的是返回數(shù)據(jù)的格式。

async.series({
 one: function(callback){
 callback(null, 1);
 },
 two: function(callback){
 callback(null, 2);
 }
},function(err, results) {
 console.log(results);
});

輸出為

{one: 1, two: 2}

waterfall瀑布流

waterfall 和 series 函數(shù)都是按照順序執(zhí)行,不同之處是 waterfall 每個函數(shù)產(chǎn)生的值都可以傳遞給下一個函數(shù), series 不可以。

async.waterfall([
 function(callback) {
 callback(null, 'one', 'two');
 },
 function(arg1, arg2, callback) {
 // arg1 now equals 'one' and arg2 now equals 'two'
 console.log('function 2')
 console.log('arg1: ' + arg1)
 console.log('arg2: ' + arg2)
 callback(null, 'three');
 },
 function(arg1, callback) {
 console.log('function 3')
 console.log('arg1: ' + arg1)
 // arg1 now equals 'three'
 callback(null, 'done');
 }
], function(err, result) {
 // result now equals 'done'
 console.log(result);
});

輸出

function 2
arg1: one
arg2: two
function 3
arg1: three
done

waterfall 第一個參數(shù)只能為數(shù)組。當(dāng)中途有函數(shù)出錯,其err直接傳給最終callback,結(jié)果被丟棄,后面的函數(shù)不再執(zhí)行。

parallel(tasks, [callback])

paraller 函數(shù)是并行執(zhí)行多個函數(shù),每個函數(shù)都是立即執(zhí)行,不需要等待其它函數(shù)先執(zhí)行。

傳給最終callback的數(shù)組中的數(shù)據(jù)按照tasks中聲明的順序,而不是執(zhí)行完成的順序。

async.parallel([
 function(callback){
 callback(null, 'one');
 },
 function(callback){
 callback(null, 'two');
 }
],
function(err, results){

});

tasks參數(shù)可以是一個數(shù)組或是json對象,和 series 函數(shù)一樣,tasks參數(shù)類型不同,返回的results格式會不一樣。

將示例中tasks的回調(diào)函數(shù)用setTimeout在1000毫秒后調(diào)用,然后在 parallel 的回調(diào)函數(shù)中輸出results,看一看整個過程花費了1s還是2s。

var async=require("async");
async.parallel([
 function(callback){
 setTimeout(function(){
 callback(null, 'one')
 },1000);
 },
 function(callback){
 setTimeout(function(){
 callback(null, 'two')
 },1000);
 }
],
function(err, results){
 console.log(results);
});
parallelLimit(tasks, limit, [callback])

parallelLimit 函數(shù)和 parallel 類似,但是它多了一個參數(shù)limit。 limit參數(shù)限制任務(wù)只能同時并發(fā)一定數(shù)量,而不是無限制并發(fā),示例如下:

async.parallelLimit([
 function(callback){
 callback(null, 'one');
 },
 function(callback){
 callback(null, 'two');
 }
],
2,
function(err, results){
});

將示例中tasks的回調(diào)函數(shù)用setTimeout在1000毫秒后調(diào)用,limit參數(shù)設(shè)置為1,然后在parallelLimit的回調(diào)函數(shù)中輸出results,看一看整個過程花費了1s還是2s。

var async=require("async");
async.parallelLimit([
 function(callback){
 setTimeout(function(){
 callback(null, 'one');
 }, 1000);
 },
 function(callback){
 setTimeout(function(){
 callback(null, 'two');
 }, 1000);
 }
],
1,
function(err, results){
 console.log(results);
});
map(coll, iteratee, callbackopt)

map 函數(shù)遍歷傳入的數(shù)組,并執(zhí)行同樣的操作,最終返回結(jié)果

cool:數(shù)組

iteratee:對數(shù)組每一項要執(zhí)行的函數(shù)

callbackopt:回調(diào)函數(shù)

async.map([1, 2, 3, 4, 5],
 function(item, callback) {
 callback(null, item + 5)
 },
 function(err, result) {
 console.log(result)
 })
[ 6, 7, 8, 9, 10 ]

總結(jié)

以上所述是小編給大家介紹的JavaScript中使用Async實現(xiàn)異步控制,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

JavaScript中使用Async實現(xiàn)異步控制

JavaScript中使用Async實現(xiàn)異步控制:async官方DOC 介紹 node安裝 npm install async --save 使用 var async = require('async') js文件 github.com/caolan/asyn… async提供了很多函數(shù)用于異步流程控制,下面是async核心的幾個函數(shù),完整的函數(shù)請看async官方DOC async.
推薦度:
標(biāo)簽: js 中使用 javascript
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 中宁县| 潮州市| 新疆| 资兴市| 江口县| 什邡市| 博乐市| 静乐县| 呼伦贝尔市| 临清市| 汕头市| 巴楚县| 平凉市| 澄迈县| 雅安市| 昭通市| 从江县| 昌宁县| 应城市| 祁东县| 临朐县| 湘阴县| 哈尔滨市| 广德县| 新沂市| 武宁县| 龙岩市| 静宁县| 沅江市| 营口市| 吉木萨尔县| 兴山县| 新巴尔虎右旗| 开封市| 宁波市| 乌审旗| 新晃| 隆德县| 来宾市| 盐源县| 栖霞市|