我正在编写以下函数,我需要返回myJsonString
. 当我执行该函数时,它会异步运行。为了使其同步,我使用了when()
,then()
但它仍然没有返回任何内容。
请建议一种方法。
var myJsonString;
var items = [];
function getConfig() {
$.when(offlinedb.configuration.toArray(function (documents) {
$.each(documents, function (i, aaa) {
var obj = {};
var temp = aaa.Property;
var tempObj = aaa.Value;
obj[temp] = tempObj;
items.push(obj);
});
myJsonString = JSON.stringify(items);
})).then(function (y, yy) {
console.log(myJsonString);
// return does not work here..
});
return myJsonString;
}
编辑了我的代码:
var items = [];
var myJsonString;
function getConfig(){
return offlinedb.configuration.toArray()
.then(function(documents) {
$.each(documents,function (i,aaa){
var obj={};
var temp=aaa.Property;
var tempObj= aaa.Value;
obj[temp]=tempObj;
items.push(obj);
});
myJsonString = JSON.stringify(items);
return myJsonString;
});
}