data)= { if (err) reject(err)resolve(JSON.parse(data.toStrin
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如何从异步回调函数返回想要的值
温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/29906.html