目录
如何获取一个函数中异步操作的结果

一段函数中包含着异步执行结果,则无法直接获取到其中的数据

例如:

function fn(){
var data = '默认数据'
setTimeout(() => {
var data = 'hello'
}, 1000);
return data
}

// 掉用fn
console.log( fn())

可以发现,并没有得到hello这个值

那么要想获得函数中异步操作的结果,必须通过回调函数来获取


function fn(callback){
var data = '默认数据'
setTimeout(() => {
var data = 'hello'
callback(data) // 掉用callback(data),实际上就是console.log(data)
}, 1000);
}

// 掉用fn

// 相当于 var callback = function(data){ console.log(data) }
fn(function(data){
console.log(data)
})

思维有点绕,捋一捋,品一品就明白了

文章作者: Jachie Xie
文章链接: https://xjc5772.github.io/2020-06/05/%E5%AD%A6%E4%B9%A0/%E5%89%8D%E7%AB%AF%E5%AD%A6%E4%B9%A0/JS/%E5%A6%82%E4%BD%95%E8%8E%B7%E5%8F%96%E4%B8%80%E4%B8%AA%E5%87%BD%E6%95%B0%E4%B8%AD%E5%BC%82%E6%AD%A5%E6%93%8D%E4%BD%9C%E7%9A%84%E7%BB%93%E6%9E%9C/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 XJC&Blog
打赏
  • 微信
  • 支付宝

评论