我的 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;
我需要做什么?
答案 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)