+-
关于获取Promise返回值的问题!
首页 专栏 javascript 文章详情
0

关于获取Promise返回值的问题!

kzddck 发布于 3 月 1 日

经常看见很多小伙伴又遇到无法拿到Promise返回值的问题。

要想操作Promise的返回值,可以使用async/await方法去操作,await可以拿到Promise的.then的返回值。但await方法必须要在async函数中使用。

而async本质就是一个Promise,其实你还在利用Promise操作Promise的值,只是这个方法简单易懂,这样说,我感觉大家都会明白了吧!

下面的演示代码,也很清晰!
注:axios本身就是一个Promise

//这是nodejs环境,需要安装axios模块
//安装方法 npm install axios
const axios = require('axios')
var url = 'http://baidu.com'
function getdata(url) {
    return axios.get(url).then(res=>{
        return res.data
 })
}
// 通过async/await去操作得到的对Promise象,也就是说,要想获取到Promise.then的返回值,就必须利用await获取,要想使用await,就必须在函数前面加上async
async function run() {
    result = await getdata(url)
    console.log(result)
}
run()
javascript node.js promise axios
阅读 17 发布于 3 月 1 日
收藏
分享
本作品系原创, 采用《署名-非商业性使用-禁止演绎 4.0 国际》许可协议
avatar
kzddck
2 声望
1 粉丝
关注作者
0 条评论
得票 时间
提交评论
avatar
kzddck
2 声望
1 粉丝
关注作者
宣传栏
目录

经常看见很多小伙伴又遇到无法拿到Promise返回值的问题。

要想操作Promise的返回值,可以使用async/await方法去操作,await可以拿到Promise的.then的返回值。但await方法必须要在async函数中使用。

而async本质就是一个Promise,其实你还在利用Promise操作Promise的值,只是这个方法简单易懂,这样说,我感觉大家都会明白了吧!

下面的演示代码,也很清晰!
注:axios本身就是一个Promise

//这是nodejs环境,需要安装axios模块
//安装方法 npm install axios
const axios = require('axios')
var url = 'http://baidu.com'
function getdata(url) {
    return axios.get(url).then(res=>{
        return res.data
 })
}
// 通过async/await去操作得到的对Promise象,也就是说,要想获取到Promise.then的返回值,就必须利用await获取,要想使用await,就必须在函数前面加上async
async function run() {
    result = await getdata(url)
    console.log(result)
}
run()