javascript 异步实现方案
2024-09-23 04:55:35
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);
});
最新文章
- 在开源中国(oschina)git中新建标签(tags)
- 在php中定义常量时,const与define的区别?
- Python字符串str的方法使用
- 浅谈Tuple之C#4.0新特性那些事儿你还记得多少?
- Linode Centos6.5从零开始装环境...流水账
- 学习资源asp.net
- C#中不同的线程对控件的更改
- How To Create a Personal Balance Sheet
- Android最佳性能实践(二)——分析内存的使用情况
- Linux下编译内核配置选项简介
- 【HDOJ】2966 In case of failure
- Sum It Up(搜索)
- Android的线程和线程池
- 在MacOS下Python安装lxml报错xmlversion.h not found 报错的解决方案
- CKEdit( htm编辑器)
- Django使用遇到的各种问题及解决方法
- spring boot 之热部署(三)
- Dubbo中服务消费者和服务提供者之间的请求和响应过程
- dataframe的进行json数据的压平、增加一列的id自增列
- 百度地图API---JS开发
热门文章
- Sqlmap Tamper大全
- XMPPFrameWork IOS 开发(四)消息和好友上下线
- ActiveReport开发入门-列表的交互性
- python中字符串list转化为数值型
- HDU 4757
- 解决 同时安装 python3,python2环境时,用pip安装 python3 包
- [CALayer release]: message sent to deallocated instance iOS内存过度释放问题
- CSS中的margin、border和padding的区别
- 利用html5调用本地摄像头拍照上传图片[转]
- Hadoop之MapReduce命令