在Traverse npm内部解决问题

时间:2018-10-02 15:19:35

标签: node.js promise es6-promise traversal

概念: 我希望用新的加密更新MongoDB文档。为此,我正在使用遍历每个对象键的遍历库npm:当标记为Traverse(Object).each(async(__ data)<-如果使用async-await,则遍历现在会出现问题比遍历将开始跳过从中返回的数据__data.i还尝试了BlueBird来解决问题,但是它将所有数据拆分为单个字符集。

问题 我希望traverse.each方法内部具有异步功能,以便在traverse内部发生的任何数据更改都将是asyncronus。

代码

// if given @_dataType is not empty.
    await FindAndReplace(_dataPipe).forEach((data) => {
      // local variable.
      let _hash

      console.log('13-043')
      console.log(TypeCheck('Object', data) && _.keys(data).indexOf(_allowedHash[m]) > -1, data, _allowedHash[m])
      // if current key is allowed.
      if (TypeCheck('Object', data) && _.keys(data).indexOf(_allowedHash[m]) > -1) {
        // Argon2 data.
        BlueBird.method(__Argon2.hash([data[_allowedHash[m]]]), __hash => {
          // concat hash result.
          _hash += __hash
        })

        console.log('-1304')
        console.log(_hash, TypeCheck('String', _hash), data[_allowedHash[m]])
        // on successful data encoding.
        if (TypeCheck('String', _hash)) {
          data[_allowedHash[m]] = _hash
          data['encryption'] = {
            'Argon2': {
              'for': _allowedHash[m],
              'hash': _hash
            }
          }

          // emmit data for allowing validation.
          _emmit('Argon2', Argon2)

          // style guide.
          Context.debug(`data encoded successfully with argon2..`, 'successful')
        }
      }
    })

注意 如果我不干净,那就让我知道我还能为您提供什么。这样您打电话告诉我为什么它不起作用。以及它将如何工作?

谢谢

0 个答案:

没有答案