如何解决如何尝试直到解决为止JavaScript中的承诺
最近我遇到了一个连接问题,使我的代码和数据库之间的连接不稳定...
您可能已经注意到,这会创建连接请求错误,我需要一种方法来使Promise继续尝试直到解决。
我的代码:
var results = sqlQuery(sql)
function sqlQuery (sql) {
return new Promise((resolve,reject) => {
sql.query(/*query*/,function (error,results,fields) {
if (error) {
console.log(error)
reject(error)
}
resolve(results)
})
})
}
重要事项:上面的代码在while()内部,该循环在每个循环中更改/ * query * /
解决方法
我没有一种测试方法,但是可以使用递归函数尝试如下操作:
var results = sqlQuery(sql)
function sqlQuery (sql) {
return new Promise((resolve,reject) => {
sql.query(/*query*/,function (error,results,fields) {
if (error) {
return sqlQuery(sql).then(res => resolve(res));
}
resolve(results)
})
})
}
尽管我不得不说一遍又一遍地重做并不是最好的主意...
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。