jscex使用出错,求高手指导
发布于 13 年前 作者 huangdh3 4928 次预览 最后一次回复是 13 年前 来自
var Jscex = require("jscex");
require("jscex-jit").init(Jscex);
require("jscex-async").init(Jscex);
require("jscex-async-powerpack").init(Jscex);
var Jscexify = Jscex.Async.Jscexify;
var Client = require('mysql').Client;
client.queryAsync = Jscexify.fromStandard(client.query);
function BaseModel(){
table = "t_user";
var tableMsg = getTableConfigFromJson(table);
this._table = table;
this._key = tableMsg['key'];
this._tableConfig = tableMsg['value'];
this.add = eval(Jscex.compile("async",function(jsonValue){
var addMsg = changeJsonToString(jsonValue);
var sql = 'INSERT INTO ' + tableName + "(" + addMsg["key"] +") values(" + addMsg["value"] +")";
//client.queryAsync = Jscexify.fromStandard(client.query);
var result = $await(client.queryAsync(sql));
console.log(result.insertId);
return result.insertId;
console.log("1");
return "22";
}));
希望使用jscex来同步数据库执行操作,但是一直返回一个这个信息
{ id: 1, _delegate: [Function], _listeners: {}, status: ‘ready’ }
1 回复
1、这个返回的是一个task对象,需要调用其start()方法才开始执行的
2、在上面的函数体里面可以像阻塞方式来写程序,但其实际上还是异步执行的,因此this.add()必须通过回调函数来返回数据,比如:
3、你应该从头拜读老赵写的Jscex系列文章
不知道这样解释是否正确,求@老赵 直到