1、回调函数
fn1( fn2 );
2、事件监听
fn1.on('done', fn2); function fn1() {
setTimeout(function(){
fn1.trigger('done');
},1000)
}
3、发布-订阅
(1)fn2像“信号中心”订阅了done信号
Jquery.subscribe("done", fn2); (2) fn1向信号中心发布信号
function fn1(){
setTimeout(function(){
Jquery.publish("done");
},2000)
}
4、 promises
fn1().then(fn2); function fn1(){
var dfd = $.Deferred();
setTimeout(function(){
resolve();
},2000);
}
5、generator
var fetch = require('node-fetch'); function * gen(){
var url = "xxxxx.github";
var result = yelid fetch(url);
console.log(result.do);
} var g = gen();
var result = g.next(); result.value.then(function(data){
return data.json();
}).then(function(data){
g,next(data)
})
6、 async 函数
async function getStockPriceByName(name) {
var symbol = await getStockSymbol(name);
var stockPrice = await getStockPrice(symbol);
return stockPrice;
} getStockPriceByName('goog').then(function (result) {
console.log(result);
});