Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript数据库API返回结果_Javascript_Html - Fatal编程技术网

Javascript数据库API返回结果

Javascript数据库API返回结果,javascript,html,Javascript,Html,嘿,我一直在玩弄HTML5数据库API,我很难从函数返回结果。这是我的 var list = GetScenarios(); GetScenarios: function() { var scenarios; // get all the scenarios conn.transaction(function(_t) { _t.executeSql('SELECT * FROM scenarios', [], function(_tr, _result) { scena

嘿,我一直在玩弄HTML5数据库API,我很难从函数返回结果。这是我的

var list = GetScenarios();

GetScenarios: function()
{

var scenarios;

// get all the scenarios
conn.transaction(function(_t) {

_t.executeSql('SELECT * FROM scenarios', [], function(_tr, _result) {

        scenarios = _result.rows;

    });
});

return scenarios;

}
我设法从数据库中获取行,但这些行不会分配给可变场景。我知道这是范围问题,但我不知道如何从GetScenatios函数返回结果

当我记录_result.rows时,我在那里有数据,但场景始终未定义

有什么想法吗

下面是如何设置我的js文件

window.MyExtension = (function() 
{

    return ({

    OtherMethod: function() {   


        var list = window.MyExtension.GetScenarios();

    },

    GetScenarios: function() {

         ...see above

    }

}());

看起来您正试图从异步请求返回代码,就好像它是同步的一样。您需要将回调参数添加到
GetScenarios()

并将您的呼叫代码更改为:

var list = GetScenarios();
// do something with list
为此:

GetScenarios(function (list) {
    // do something with list
});

您的代码是无效的JavaScript
GetScenarios:function()
应该是
function GetScenarios()
。它可以是
GetScenarios=function()
,但它必须出现在
var list=GetScenarios()之前@gilly3,正确,除了最后一句话:@stivlo-也许你误读了我的评论<代码>函数GetScenarios()
可以工作,JSFIDLE已经证明了这一点。但是,
GetScenarios=function()
不起作用,这一点可以证明:GetScenarios:function()起作用。我编辑了这篇文章以反映js文件setup@gilly3是的,我同意。流氓,打开你的JavaScript控制台,比如FireBug,修复语法错误。Perfecto!非常感谢你。我还必须在对象中使用window.MyExtension.GetScenario()。谢谢你
GetScenarios(function (list) {
    // do something with list
});