完成后调用代码node.js

时间:2017-08-01 19:28:19

标签: javascript json node.js function

我的 Node.js 项目中存在问题。 我有一些代码遍历整个 JSON 列表并打印" 1" ,还有一些代码正在使用API​​和打印& #34; 2&#34 ;. 现在程序打印:

2

1

我想要打印的程序:

1

2

我的代码:



//include libraries
const apigClientFactory = require('aws-api-gateway-client');
const tabletojson = require('tabletojson');
const Promise = require('promise');
//Global variables

const url = '****';
var jsonOutput = {};

//////////////////////1/////////////////////////
//Convert Html tables to Json object
tabletojson.convertUrl(url, function(tablesAsJson) {
    var exchangeJson = tablesAsJson[0];
    console.log("1");
    var j = 0;
    for(var i = 0 ;i < exchangeJson.length; i++)
    {
        jsonOutput[j++] =
            {
                ****
            };
    }
    
});

//////////////////////2/////////////////////////
var apigClient = apigClientFactory.default.newClient({
    accessKey: '****',
    secretKey: '****',
    invokeUrl: '****'
});


var pathTemplate = '/staging/rates';
var method = 'POST';
console.log("2");
for (var i = 0; i < jsonOutput.length; i++) {
    var body = {
                currency: jsonOutput[i].currency,
                chain: '****',
                buy: parseFloat(jsonOutput[i].buy),
                sell: parseFloat(jsonOutput[i].sell)
            };

apigClient.invokeApi({city: '****', country: '****'}, pathTemplate, method, {}, body)
    .then(function (result) {
        console.log(JSON.stringify(result.data));
    }).catch(function (result) {
        console.log(result);
    });
}
&#13;
&#13;
&#13;

我需要做什么?

1 个答案:

答案 0 :(得分:0)

您需要在apigClient.invokeApi函数调用结束时调用tabletojson.convertUrl函数。

像这样:

tabletojson.convertUrl(url, function(tablesAsJson) {
var exchangeJson = tablesAsJson[0];
console.log("1");
var j = 0;
for(var i = 0 ;i < exchangeJson.length; i++)
{
  jsonOutput[j++] =
  {
    ****
  };
}

function2({city: '****', country: '****'}, ...);

});


function2 (args) {
  console.log('2');
}

这称为回调:https://en.wikipedia.org/wiki/Callback_(computer_programming)