async 中文文檔

 

git URL:https://github.com/dxr199212300/async-Translation.git

Collections

async中的collection是爲了操縱集合的函數,例如Arrays和object

Methods (方法)

concat(coll, iteratee, callback(err)opt)

應用iteratee(迭代器)去遍歷每個coll,將結果串聯後,返回串聯列,
由於iteratee是並行的,因此不能保證數據可以完整並按順序的返回。
 
Parameters(參數)
Name                                             Type                                     Description
 
coll                                Array | lterable | object                           遍歷的集合  
  
iteratee                         AsyncFunction        用於遍歷Coll的迭代器,結果將返回一個數組,調用 ( item, callback )   
 
callback( err )              function<optional>   在全部的iteratee結束以後調用callback,或者出現一個error,結果是包含了            iteratee返回的結果的一個數組
 
Example(實例)
async.concat(['dir1','dir2','dir3'], fs.readdir, function(err, files) { 
// 如今文件的文件名列表中存在3目錄
});
 
 
 
 

concatLimit(coll, limit, iteratee, callbackopt)

import concatLimit from 'async/concatLimit’;
 
和concat同樣   可是限制了每次異步操做時的容許的併發執行的任務數量
 
Parameters:
Name                                Type                                 Description
Coll                         Array | lterable |Object                    遍歷集合  
limit                                    number                      每次異步操做時的最大數量
iteratee                         AsyncFunction           用於遍歷Coll,應用數組做爲結果,調用 ( item, callback )   
callback(err)                function<optional>   在全部的iteratee結束以後調用callback,或者出現一個error,結果是一個數組包含了iteratee返回的結果  
 
 

detect(coll, iteratee, callbackopt)

import detect from 'async/detect’;

經過異步測試返回第一個值到coll,iteratee是並行的,意味着第一個iteratee迭代器返回ture時,call只會返回一個結果
這意味着返回的第一項可能不是原始coll順序進行測試的,若是原順序很重要,那麼能夠看看 detectSeries
 
別名: find
 
Parameters(參數)
Name                              Type                                Description
 
Coll                      Array |  lterable | Object                  遍歷集合
 
iteratee               asyncFucntion               真假測試coll的每一項,結果必須是迭代器返回的一個布爾值
 
callback         function<optional>           任何迭代器返回ture,或者所有迭代器結束時callback將被觸發,
                                                           結果將返回經過真假測試的數組中的第一項,或者值爲undefined,              
                                                                 若是沒有經過,調用(err,result)
 

detectLimit(coll, limit, iteratee, callbackopt)

import detectLimit from 'async/detectLimit’;
 
等同於detect 可是限制了每次異步操做時的容許的併發執行的任務數量
 
別名: findLimit
 
Parameters:
 
Name                     Type                                      Description
coll           Array | alterable | Object                       遍歷集合
limit                       number                         每次異步操做時的容許的併發執行的任務數量    
iteratee            AsyncFunction           應用於coll的真假測試,迭代器必須將布爾值做爲結果,調用(item,callback)
 
callback          function <optional>        任何迭代器返回ture,或者全部迭代器運行結束時調用回調。結果將返回數組第一項,經過真假測試或者 值未定義的數組,調用(err,result)
  

detectSeries(coll, iteratee, callbackopt)

import detectSeries from 'async/detectSeries';
 
 等同於detect 可是限制了每次異步操做時的容許的併發執行的任務數量
 
別名: findSeries
 
Parameters:
 
Name                     Type                              Description 
 
coll Array | alterable | Object   遍歷集合
iteratee AsyncFunction 應用於coll的真假測試,迭代器必須將布爾值做爲結果,調用(item,callback)
callback          function <optional>        任何迭代器返回ture,或者全部迭代器運行結束時調用回調。結果將返回數組第一項,經過真假測試或者 值未定義的數組,調用(err,result)
  
 

each(coll, iteratee, callbackopt)  

import each from 'async/each’;
 
 
並行的應用迭代器去遍歷coll。 iteratee將調用數組列表,callback在它結束時進行回調。
若是迭代器傳遞了一個error給callback,callback將回調一個error
 
注意,因爲迭代器時並行的,因此不能確保迭代器能夠返回完整的原始數據
 
Alias: forEach
 
Parameters:
 
Name type description
coll Array | alterable | Object   遍歷集合
iteratee AsyncFunction 應用於遍歷coll的異步函數,調用(item,callback) 數組的index(下標)沒有經過iteratee,若是你須要index,使用eachof
callback function<optional> 當全部iteratee結束時執行回調,或者error出現,調用(err)
 
 
Example
// assuming openFiles is an array of file names and saveFile is a function
假設openfiles是一個屬於文件名的數組,saveFile是一個函數
// to save the modified contents of that file:
保存在另外一個文件修改的內容
async.each(openFiles, saveFile, function(err){  
// if any of the saves produced an error, err would equal that error
});
// assuming openFiles is an array of file names
async.each(openFiles, function(file, callback) {
// Perform operation on file here.
console.log('Processing file ' + file); 
 
if( file.length > 32 ) { 
console.log('This file name is too long'); 
callback('File name too long'); 
} else { 
// Do work to process file here
console.log('File processed'); 
callback(); 
}
}, function(err) { 
// if any of the file processing produced an error, err would equal that error 
if( err ) { 
// One of the iterations produced an error. 
// All processing will now stop. 
console.log('A file failed to process’); 
} else {
console.log('All files have been processed successfully’);
}
});
 
 
 

eachLimit(coll, limit, iteratee, callbackopt)

import eachLimit from 'async/eachLimit';
 
 等同於each 可是限制了每次異步操做時的容許的併發執行的任務數量
 
Parameters:
 
Name Type Description
coll Array | alterable | Object   遍歷集合
limit number 每次異步操做時的容許的併發執行的任務數量
iteratee AsyncFunction 應用於遍歷coll的異步函數,數組下標並不經過迭代器,如 果你須要用到index,使用eachOfLimit,調用 (item,callback)
callback function<optional> 當全部迭代器結束或者出現一個錯誤調用(err)
 
 

eachOf(coll, iteratee, callbackopt)

import eachOf from 'async/eachOf';
 
像是each同樣,除了它經過了一個鍵值(下標)作爲了第二個參數傳遞給迭代器
 
別名:  forEachOf
 
Parameters:
 
Name                 Type                 Description 
 
coll               Array | alterable | Object            遍歷集合
iterable             AsyncFunction              應用於遍歷coll,key是項的key,或索引的數組,調用(item,key,callback)
callback             function<optional>      當全部迭代器結束或者出現一個錯誤調用(err)
 
Example
var obj = {dev: "/dev.json", test: "/test.json", prod: "/prod.json」};
var configs = {}; 
async.forEachOf(obj, function (value, key, callback) {
fs.readFile(__dirname + value, "utf8", function (err, data) { 
if (err) return callback(err); 
try {
configs[key] = JSON.parse(data);
} catch (e) { 
return callback(e); 
}
callback(); 
});
}, function (err) { 
if (err) console.error(err.message); 
// configs is now a map of JSON data 
doSomethingWith(configs);
});
 

eachOfLimit(coll, limit, iteratee, callbackopt)

import eachOfLimit from 'async/eachOfLimit';
 
 等同於eachOf 可是限制了每次異步操做時的容許的併發執行的任務數量
 
Parameters:
 
Name                             Type                       Description
相關文章
相關標籤/搜索