如何使用node.js生成唯一ID

如何使用node.js生成唯一ID,第1张

如何使用node.js生成唯一ID

自从使用node.js已经有一段时间了,但是我想我可以提供帮助。

首先,在node中,您只有一个线程,应该使用回调。您的代码将发生的情况是

base.getID
查询将排队等待执行,但是
while
循环将毫无意义地连续作为繁忙循环运行。

您应该可以通过以下回调来解决您的问题:

function generate(count, k) {    var _sym = 'abcdefghijklmnopqrstuvwxyz1234567890',    var str = '';    for(var i = 0; i < count; i++) {        str += _sym[parseInt(Math.random() * (_sym.length))];    }    base.getID(str, function(err, res) {        if(!res.length) {          k(str)        // use the continuation        } else generate(count, k)  // otherwise, recurse on generate    });}

并这样使用

generate(10, function(uniqueId){  // have a uniqueId})

我在大约2年内没有编写任何node / js的代码,也没有进行测试,但是基本思想应该成立-不要使用繁忙的循环,而应使用回调。您可能想看看节点异步包。



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5049812.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-15
下一篇 2022-11-15

发表评论

登录后才能评论

评论列表(0条)

保存