问题描述
我已经开发了一个命令行程序及其工作原理,但是完成时还没有完成。 我必须控制+ C外壳退出
我是javascript新手。 我必须说出一个回调来说程序完成了吗?
我的代码:
importer.then(function (csvData) {
var mySqlConnection = new MySqlConnection(config['phpipam-db']['host'], config['phpipam-db']['user'], config['phpipam-db']['password'], config['phpipam-db']['database']);
var connection = mySqlConnection.getConnection();
mySqlConnection.selectSubnets(connection).then(function (customerFolders) {
var ipv6Data = manager.getIpv6CustomerSubnetsInsertData(csvData, customerFolders);
var ipv4Data = manager.getIpv4CustomerSubnetsInsertData(csvData, customerFolders);
mySqlConnection.insertIpv6Subnets(ipv6Data);
});
});
1楼
在var connection = mySqlConnection.getConnection();
之后添加console.log
语句
和mySqlConnection.insertIpv6Subnets(ipv6Data);
。
如果执行它们,则问题不在您发布的代码中。
如果不是,则必须检查您的诺言是否得到履行。
2楼
这些方法是否是: manager.getIpv6CustomerSubnetsInsertData
, mySqlConnection.insertIpv6Subnets
也返回承诺?
如果您这样修改代码,您是否可以在控制台中看到“完成”?
importer.then(function (csvData) {
var mySqlConnection = new MySqlConnection(config['phpipam-db']['host'], config['phpipam-db']['user'], config['phpipam-db']['password'], config['phpipam-db']['database']);
var connection = mySqlConnection.getConnection();
return mySqlConnection.selectSubnets(connection).then(function (customerFolders) {
var ipv6Data = manager.getIpv6CustomerSubnetsInsertData(csvData, customerFolders);
var ipv4Data = manager.getIpv4CustomerSubnetsInsertData(csvData, customerFolders);
return mySqlConnection.insertIpv6Subnets(ipv6Data);
}).then(function () {
console.log('Done');
});
});