首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么从xml-to-json的回调返回的值会得到未定义的值?

为什么从xml-to-json的回调返回的值会得到未定义的值?
EN

Stack Overflow用户
提问于 2020-05-08 03:11:26
回答 1查看 42关注 0票数 0
代码语言:javascript
复制
const xml2json = require("xml-to-json");    

const convertXMITOJSON = () => {
      xml2json(
        {
          input: "./sequence_diagram.xmi",
          output: "./test.json",
        },
        function (err, result) {
          if (err) console.error(err);
          else {
            return result;
          }
        }
      );
    };

let result = convertXMITOJSON();

console.log(result); // undefined

我想在这个函数之外使用result的值。但是当我返回result的值时,它是未定义的。为什么在这段代码中,函数外部的result的值是未定义的?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-08 21:47:00

承诺是处理它的最简单的方法。

代码语言:javascript
复制
const xml2json = require("xml-to-json");

const convertXMITOJSON = () => {
  return new Promoise((resolve, reject) => {
    xml2json({
        input: "./sequence_diagram.xmi",
        output: "./test.json",
      },
      function(err, result) {
        if (err) {
          console.error(err);
          reject(err)
        } else {
          resolve(result);
        }
      }
    );
  })
};

convertXMITOJSON().then(result => {
  console.log(result);
}

可以使用async和await更改代码

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61665884

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档