鱼C论坛

 找回密码
 立即注册
查看: 4499|回复: 2

[已解决]请问怎么把callback函数中的信息弄到函数外面。

[复制链接]
发表于 2021-9-2 13:27:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
我也不知道nodejs的程序问题是不是可以放到这里,如有不对请见谅~
程序是这样的。
  1. const fs = require('fs')
  2. var text
  3. fs.readFile('./test.txt', {encoding:''}, function(err, data){
  4.     if(err){
  5.         console.log(err);
  6.     }else{
  7.         text = data.toString()
  8.         console.log(data.toString());
  9.     }   
  10. });

  11. console.log('This is the end.')
  12. console.log('out:',text)
复制代码

输出是这样的
  1. This is the end.
  2. out: undefined
  3. This is a test file.
复制代码

请问 怎么把那个等那个out被赋值之后再输出啊,搞了好久都搞不定。。
最佳答案
2021-9-2 14:10:25
本帖最后由 kogawananari 于 2021-9-2 14:20 编辑
  1. const fs = require("fs")
  2. const readFile = require("util").promisify(fs.readFile)
  3. void async function main(){
  4.     let text
  5.     try {
  6.         text = await readFile('./test.txt', "utf-8")
  7.     } catch (err) {
  8.         console.log(`读取失败:${err}`)
  9.         return
  10.     }
  11.     console.log('This is the end.')
  12.     console.log('out:',text)
  13. }()
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-9-2 14:10:25 | 显示全部楼层    本楼为最佳答案   
本帖最后由 kogawananari 于 2021-9-2 14:20 编辑
  1. const fs = require("fs")
  2. const readFile = require("util").promisify(fs.readFile)
  3. void async function main(){
  4.     let text
  5.     try {
  6.         text = await readFile('./test.txt', "utf-8")
  7.     } catch (err) {
  8.         console.log(`读取失败:${err}`)
  9.         return
  10.     }
  11.     console.log('This is the end.')
  12.     console.log('out:',text)
  13. }()
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-9-2 14:27:48 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-19 22:44

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表