在nodejs中承诺while循环不起作用

时间:2015-04-02 13:47:16

标签: javascript node.js promise

lib.connect().then(lib.wipedb).then(lib.init).then(lib.createDev).then(lib.creat‌​eDeviceModel).then(lib.createDeviceModal2).then(lib.createU).then(lib.createU2).t‌​hen(function() { return lib.createOrg("Park Hotels"); }).then(function() { return lib.createDeviceGroup("Okinawa"); }).then(function()
{
   var i=0;
   while(i!=100)
   {
     //Add Virtual Devices 100 Times
     // problem is i cannot add devices as the loop executes and does not
     // For Promises . How could i add 100 Users using the loop
     // Or If there are any another way to achieve this.
      // Loop is not working here but i need to add 100 

   }

}).then......

我有一个用很多承诺编写的测试脚本。它在nodejs上 早期的所有值都是硬编码的,但我现在想要从JSON中获取数据 其中也包含数组。

问题是while循环执行得最糟糕,我没有得到任何输出。

请找到以下代码。

假设我有一个

some.Db().then(some.wipeAll).then(some.getALL).then(some.createUser).
then(function()
{  
  some.addUser("abc");

}.then(function()
{

  some.addUser("def");  //Till 50 Times

}.then(function()
{

  some.showUser("sah");   //Till 50 Times

}.then(function()
{

  some.emulateuser("name");   //till 50 Times

}

更新了

我有一个JS文件,它具有所有功能,所有这些都基于承诺。

lib.connect().then(lib.wipedb).then(lib.init).then(lib.createDev).then(lib.creat‌​eDeviceModel).then(lib.createDeviceModal2).then(lib.createU).then(lib.createU2).t‌​hen(function() { return lib.createOrg("Park Hotels"); }).then(function() { return lib.createDeviceGroup("Okinawa"); }).then.......

上面的代码工作正常,值总是硬编码,上面的过程重复到100个用户。这是编程模式的浪费。

所以我写了一个JSON obj,它包含了一个数组中的所有用户数据,并重写了下面的代码。

some.Db().then(some.wipeAll).then(some.getALL).then(some.createUser).
    then(function()
    {  
      var i=0;
      var user =  // get all user details and loop thorogh
      while(i!=user.length)
     {
       some.addUser(user.name);
       i+=1;
     }

    }.then(function()
    {

      var i=0;
      var user =  // get all user details and loop thorogh
      while(i!=user.length)
     {
       some.addUser(user.name);
       i+=1;
     }

    }.then(function()
    {

     var i=0;
      var user =  // get all user details and loop thorogh
      while(i!=user.length)
     {
       some.addUser(user.name);
       i+=1;
     }

    }.then(function()
    {

     var i=0;
      var user =  // get all user details and loop thorogh
      while(i!=user.length)
     {
       some.addUser(user.name);
       i+=1;
     }

    }

问题是它根本不工作,我在打开时看不到Db或html中的任何东西。由于使用promises进行手动数据输入,它会产生很多问题。我只是不能在while循环中使用JSON 和geth thsi代码工作。请任何帮助将不胜感激。

0 个答案:

没有答案