码迷,mamicode.com
首页 > Web开发 > 详细

nodejs如何从异步回调函数返回想要的值

时间:2020-02-19 05:35:08      阅读:123      评论:0      收藏:0      [点我收藏+]

标签:函数返回   string   res   rom   await   async   promise   wait   parse   

const fs = require(‘fs‘)

let read=()=>{
    fs.readFile("./contents/test.json",(err,data)=>{
        return JSON.parse(data.toString())
    })
}

(()=>{
    let result = read()
    console.log(result)  //undefind
})()

我们想从一个回调函数返回一个我们想要的值,如果按照上面的写法我们始终只能拿到undefind。

解决的办法也很简单,如下。

const fs = require(‘fs‘)

let read=async ()=>{
    return new Promise((resolve,reject)=>{
        fs.readFile("./contents/test.json",(err,data)=>{
            if(err) reject(err)
            resolve(JSON.parse(data.toString()))
        })
    })

}

(async ()=>{
    let result =await read()
    console.log(result)    //{msg:"ok"}
})()

顺便把异步的问题也解决了。

nodejs如何从异步回调函数返回想要的值

标签:函数返回   string   res   rom   await   async   promise   wait   parse   

原文地址:https://www.cnblogs.com/BlackFungus/p/12329550.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!