调用代码接连完成node.js

我的Node.js项目有问题。 我有一些代码,通过JSON的整个列表,并打印“1” ,也有一些代码是使用API​​和打印“2”。 现在程序打印:

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); }); } 

我需要做什么?

你需要在你的tabletojson.convertUrl函数调用结束时调用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'); } 

这就是所谓的callback: https : //en.wikipedia.org/wiki/Callback_(computer_programming)