gpt4 book ai didi

node.js - 如何在node js中进行同步

转载 作者:太空宇宙 更新时间:2023-11-04 00:56:03 26 4
gpt4 key购买 nike

我试图让它简单地同步连接字符串,该字符串在函数之前开始并在函数之后结束。请查看代码片段并使其简单地获得输出,例如:

<products>
<proudct_name>Product1</product_name>
<proudct_name>Product2</product_name>
<proudct_name>Product3</product_name>
</products>

任何积极的回复将不胜感激。

var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'localhost',
user : DB_USER,
password : DB_PASS,
database : DB_NAME,
});

connection.connect();

var query = connection.query('SELECT * FROM tbl_product limit 0,3');

var str = '<products>';

query.on('result', function (row) {
str += '<product_name>'row.product_name + '</product_name>';
});

str += '</products>';

console.log(str);

最佳答案

您可以使用像 Q 这样的 promise 编写看起来同步/行为异步的代码。使用 Q,您可以将上面的内容写成

var str = '<=========';
var defer = Q.defer();
query1.on('result', function (row) {
defer.resolve(row.company_name + ',');
});

defer.promise.then(function(row){
var str = "<=======" + row.company + "====>";
console.log(str);
});

您也可以使用超时技术。 promise 更好,在ES6与即将推出的 JavaScript 集成的规范。

根据评论,更现代的 Promise 框架具有更多功能。 bluebird提供了一种很容易 promise 现有功能的好方法。

关于node.js - 如何在node js中进行同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29821101/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com