javascript - 在 ES6 Promise 中,我应该在解析/拒绝之前使用 return 吗?

标签 javascript ecmascript-6 es6-promise

在调用 ES6 Promise 的解析/拒绝时使用 return 是否更正确?这对调用堆栈有帮助吗?

return new Promise((resolve, reject) => {           
this._mariadb.query(...,
    (err, rows) => {             
            if (err) {return reject(err);}                
            if (rows.info.numRows > 0) {return resolve(true);}        
            return resolve(false);                
        });            
    });

最佳答案

不使用返回值,但它可以是提前退出函数的快速方法。就这样。上面的代码可以编写为以完全相同的方式运行而不返回

if (err)
  reject(err);
else if (rows.info.numRows > 0)
  resolve(true);
else
  resolve(false);

或者更好

if (err)
  reject(err);
else
  resolve(rows.info.numRows > 0);

关于javascript - 在 ES6 Promise 中,我应该在解析/拒绝之前使用 return 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37257961/

相关文章:

javascript - 浓缩了一些代码,想知道我是否可能添加了任何意外的漏洞或问题:

javascript - Axios Vue.js 将一组对象从 store.js 传递到组件

javascript - HTML 表单 : send data to javascript function

javascript - 如何从对象数组中为每个不同的 'number' 获取最大值为 'type' 的对象?

javascript - 如何使用 TypeScript 实现对象验证?

javascript - 迭代对象列表但插入计算值

javascript - 那么这个 promise 如何发挥作用呢?

javascript - 解析javascript一对多关系查询

javascript - ES2015 相当于 $.Deferred()

javascript - 如何将参数传递给promise函数