当前位置: 代码迷 >> JavaScript >> 如何突破Java的承诺
  详细解决方案

如何突破Java的承诺

热度:56   发布时间:2023-06-13 11:54:38.0

我已经开发了一个命令行程序及其工作原理,但是完成时还没有完成。 我必须控制+ 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);
    });
});

var connection = mySqlConnection.getConnection();之后添加console.log语句 mySqlConnection.insertIpv6Subnets(ipv6Data);

如果执行它们,则问题不在您发布的代码中。

如果不是,则必须检查您的诺言是否得到履行。

这些方法是否是: manager.getIpv6CustomerSubnetsInsertDatamySqlConnection.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');
  });
});
  相关解决方案