Node.js异步同步的问题?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (39)
var asyncToSync = syncFunc();

function syncFunc() {
    var sync = true;
    var data = null;
    query(params, function(result){
        data = result;
        sync = false;
    });
    while(sync) {}
    return data;
}
提问于
用户回答回答于

可以把sleep加while循环:

var asyncToSync = syncFunc();

function syncFunc() {
    var sync = true;
    var data = null;
    query(params, function(result){
        data = result;
        sync = false;
    });
    while(sync) {require('deasync').sleep(100);}
    return data;
}
用户回答回答于

你可以用节点同步库

var sync = require('sync');

sync(function(){
  var result = query.sync(query, params);
  // result can be used immediately
})

扫码关注云+社区

领取腾讯云代金券