我如何在Node.js中使用Promise

时间:2018-09-13 15:09:01

标签: javascript node.js

请求后,我得到一个空数组。但是有人告诉我使用promises来获取其中包含项的数组。我尝试使用Promise,但仍然给我一个空数组。

此函数是异步的,但我希望先完成getrequest(),然后再完成console.log(items)

我该如何处理?我已经使用了resolve()。

var request = require('request-promise');


var items = [];
var item;


function getRequest() {
  return new Promise((resolve, reject) => {
      const options = {
        "method": "GET",
        "uri": "http://localhost:3000/api/orderitems",
        "json": true,
        "headers": {
          "User-Agent": "My little demo app"
        }
      }
      request(options)
        .then(function(response) {
          var obj = response;
          for (var i = 0; i < obj.length; i++) {
            for (var k = 0; k < obj[i].order.length; k++) {
              for (var j = 0; j < obj[i].order[k].length; j++) {

                item = obj[i].order[k][j].ingredient;
                //console.log(item);
                items.push(item);
              }
            }
          }
       resolve()

          console.log(items);


        })
        .catch(function(err) {
          console.log(err);
        })
    };
  });

getRequest();

console.log(items);

0 个答案:

没有答案