异步返回结果_return返回值返回给谁[通俗易懂]

(4) 2024-05-25 20:12

Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说异步返回结果_return返回值返回给谁[通俗易懂],希望能够帮助你!!!。

异步请求获取返回值

问题描述: 在一个函数里封装一个异步操作,并需要得到异步操作中的请求结果,以便外部使用。例如:

 function testResult(url) {
    axios.get(url).then(res => {
    return res
    })
}
console.log( testResult('/url/test'))

当然上面这种肯定是得不到正确的输出结果的。

解决以上问题有以下三种方式:

一、最简单的方式就是通过全局变量的方式
 let data = []
 function testResult(url) {
    axios.get(url).then(res => {
    data = res
    })
}
setTimeout(() => {console.log(data)}, 500)
二、通过callback回调函数方式获取
   function testResult(url, callback) {
        axios.get(url).then(res => {
        typeof callback == 'function' && callback.call(window, res)
        })
    }
    testResult('/url/test', data => {
    console.log(data)
    })
三、通过promise方式获取
function testResult(url) {
     return new Pormise((resolve, reject) => {
          axios.get(url).then(res => {
            resolve(res)
            })
         })
   }
 testResult('/url/test').then(data => {
     console.log(data)
 })

今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

上一篇

已是最后文章

下一篇

已是最新文章

发表回复