Dic*_*han 0 javascript promise
我刚刚更改了代码以使代码看起来更好.使用Promise时这两种方法有什么区别吗?我只是害怕它是否会影响程序逻辑.非常感谢.
代码更改前:
function clearTableDemo(tableName) {
return new Promise((resolve, reject) => {
if (db) {
db.executeSql('DELETE FROM '+ tableName, [],
() => { resolve () },
err => { reject() }
);
} else {
reject('db no open');
}
});
}
Run Code Online (Sandbox Code Playgroud)
更改后的代码:( 更新)
function clearTableDemo(tableName) {
if (!db) return Promise.reject('db no open');
db.executeSql('DELETE FROM '+ tableName, [],
() => { return Promise.resolve() },
err => { return Promise.reject(err) }
);
}
Run Code Online (Sandbox Code Playgroud)
这两个函数完全不同,第二个示例根本不返回Promise.
例如,您可以做的简化功能的代码如下:
function clearTableDemo(tableName) {
if (!db) {
return Promise.reject('db no open');
}
return new Promise((resolve, reject) => {
db.executeSql('DELETE FROM '+ tableName, [], resolve, reject);
});
}
Run Code Online (Sandbox Code Playgroud)