我正在使用此代码从数据库获取数据。但它始终将此行console.log('outside ret data ' + retData);的结果打印为undefined / null。因为$cordovaSQLite.execute是异步调用。我如何才能停止此操作,直到在retData对象中得到结果。请帮忙

码:

var retData = [];

$cordovaSQLite.execute(db, "SELECT * FROM suppliertypes", []).then(function (res) {
     console.log("total rows found: " + res.rows.length);
     retData = res;

   }, function (err) {
            console.log("Error looking up Supplier types: " + err);
 });

console.log('outside ret data ' + retData);
return retData;

最佳答案

看看这个答案。它利用Promise对象。

https://stackoverflow.com/a/31869081/5336859

链接到Promise

07-28 10:05