读取返回的Promise值

时间:2016-04-05 13:25:04

标签: javascript node.js

服务器端(Node js)中的Promises新手。这是我的问题

我在FileA.js中有代码

    incoming_form = client_services.pullForm('vsl_video1.mp4');
     incoming_form.resolve().then(function(results) {
      return console.log(results);
    });

incoming_form在FileB.js中返回类似这样的Promise

    incoming_form () {
     return Promise (function (resp, rej) {
        var myArray = ['fudge', 'fgfdgdf'];
          return resp(myArray);
      });
    }

我怎样才能阅读我的'myArray' FileA.js中的值?当我运行我的FileA.js时,我收到此错误 TypeError:incoming_form.resolve不是函数

2 个答案:

答案 0 :(得分:1)

我认为您可能误解了Promise个对象运行的内部机制。这就是您的代码的外观:

function incoming_form () {
 return new Promise (function (resolve, reject) {
    resolve(['fudge', 'fgfdgdf']);      
  });
}

incoming_form().then(function(results){
    console.log ("Results" + results");
})

注意promise如何在内部解析 ,而不是函数调用。每当promise解析时,操作(以及promise解析的参数,在本例中为数组)将延迟到最接近的后续then()子句。

希望这能解决一些问题!

答案 1 :(得分:1)

使用response.json(),然后从promise对象返回值。

    fetch('http://localhost:3100/comments')
    .then(response => response.json())
    .then(comments => console.log(comments));