标签:其他 yield function ack 顺序 前端 下载 generator 流程
回调函数
const p1 = new Promise ( function ( resolve, reject ) {
resolve( ‘任务一‘ )
})
.then ( function ( data ) {
console.log( data )
})
const p2 = new Promise ( function ( resolve, reject ) {
setTimeout( function () {
resolve( ‘任务二‘ )
},1000)
})
.then ( function ( data ) {
console.log( data )
})
console.log( ‘主线程任务 ‘)
// Promise
// .all([p1,p2]) // 先执行all中所有任务, 执行完成之后再去执行后面的任务
// .then( data => {
// console.log( ‘任务3‘ )
// })
Promise
.race([p1,p2]) // race 谁快输出谁
.then( data => {
console.log( ‘任务3‘ )
})
function* p1 () {
yield ‘任务1‘;
yield ‘任务2‘;
yield ‘任务3‘;
yield ‘任务4‘;
yield ‘任务5‘;
yield function* p2() {
yield ‘任务7‘
}
return ‘任务6‘
}
var p = p1()
console.log(p.next())
console.log(p.next())
console.log(p.next())
console.log(p.next())
console.log(p.next())
console.log(p.next())
console.log(p.next())
//格式1,将async放在箭头函数参数的前面
var asyncFn=async ()=>{
var req=await ‘任务1‘
console.log(req)
console.log(‘任务3‘)
}
asyncFn()
console.log(‘任务2‘) //输出任务2--任务1--任务3 任务2在主线程上,最先运行,其他的在任务队列中,哪个在前那个先输出
var asyncFn=async ()=>{
var req=await ‘任务1‘
console.log(‘任务3‘)
console.log(req)
}
asyncFn()
console.log(‘任务2‘) //输出任务2--任务3--任务1
//格式2 对象 async放在函数名前面
var obj={
async aa(){
var data=await ‘任务1‘
var res=data
console.log(res)
}
}
obj.aa()
process.nextTick(function(){
console.log(‘1‘)
process.nextTick(()=>{
console.log(‘3‘)
})
})
setImmediate(function(){
console.log(‘b‘)
})
process.nextTick(function(){
console.log(‘2‘)
})
console.log(‘主线程‘)
//引入async模块
var async=require(‘async‘)
//串行
async.series({//以耗时最多的任务为主,结束才能走过去
one:function(callback){
callback(null,‘任务1‘)
},
two:function(callback){
setTimeout(()=>{
callback(null,‘任务2‘)
},1000)
}
},(err,data)=>{
console.log(data)
})
//引入async模块
var async=require(‘async‘)
//
async.parallel({//等待最长的耗时结束,先输出耗时短的,在输出耗时长的
one:(callback)=>{
setTimeout(()=>{
callback(null,‘任务1‘)
},2000)
},
two:(callback)=>{
setTimeout(()=>{
callback(null,‘任务2‘)
},1000)
}
},(error,data)=>{
console.log(data)
})
标签:其他 yield function ack 顺序 前端 下载 generator 流程
原文地址:https://www.cnblogs.com/zhaoyingzi/p/10876911.html