我有一个函数,它返回一个带有"导出";功能。在这些导出的函数中,我希望使用promise。
var DATABASE = (function () {
var exports = {};
exports.query = function(filter = {}) {
return true;
}
return exports;
}());
console.log(DATABASE.query());
我试图使这个函数异步。但我得到DATABASE.query不是一个函数。
var DATABASE = (async function () {
var exports = {};
exports.query = await function(filter = {}) {
return true;
}
return exports;
}());
console.log(DATABASE.query());
我在promise中尝试过,它似乎有效,但我认为wait/async是更好的编码。
var DATABASE = (function () {
var exports = {};
exports.query = function(filter = {}) {
return new Promise(function(resolve, reject) {
resolve(true);
});
}
return exports;
}());
DATABASE.query().then(function(result) {
console.log(result);
});
你能帮我把它转换成async/await吗?
您需要使query
方法异步,而不是(不必要的(用于模块模式的IIFE:
const DATABASE = (function () {
const exports = {};
exports.query = async function(filter = {}) {
// ^^^^^
return true;
};
return exports;
}());
console.log(DATABASE.query());