调用代码接连完成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)