平常在封装一个同步的函数时,我们只需要在函数中 return 结果就可以了。
像这样:
function fn () {
var data = 'hello';
return data;
}
var data = fn();
console.log(data) //输出 : hello
但是,如果像一个函数中有异步操作,需要返回异步操作中的结果该如何返回呢?
像下面这种情况:
function fn () {
setTimeout(function(){
//这里可以是其他异步操作,比如Node的大部分API、ajax等等,我这里拿setTimeout举例子
var data = 'hello'
},1000)
}
像这样如果要获取 setTimeout 中的结果data该怎么获取呢?
这里可以先思考下,自己动动脑子写一下,看看结果对不对。
没封装过异步API的可能会有以下几个错误的例子:
1、
//!!错误例子
function fn