在'then'函数之外承诺访问值

时间:2019-01-08 06:17:54

标签: javascript typescript promise resolve

要从文件A.ts调用文件B.js定义的配置函数,并将返回对象设置为配置变量。

但是,我无法访问都位于'then'函数外部的config var或var x的正确值。

我可以在'then'函数内部获得正确的值,但不能在'then'函数外部获得正确的值。

A.tx中的代码

import {configuration} from "../../B";
var x = configuration("typeA").then(function(data){
        console.log("inside then fct: "+ JSON.stringify(data));
        config=data;
        return (data);
})
console.log("config"+JSON.stringify(config));
console.log("outside then fct: "+ JSON.stringify(x));

B.js中的代码

exports.configuration = function (type) {
  return new Promise(function (resolve, reject) {
    var url = '/api/code/configuration/' + type;

    c.makeRequest('get', url)
    .then(function (data) {
       console.log("confi: "+JSON.stringify(data));
       resolve(data);
    })
    .catch(function (error) {
       reject(error);
    });
 });
};

0 个答案:

没有答案