gpt4 book ai didi

javascript - 为什么 rowsAffected 不返回整数

转载 作者:行者123 更新时间:2023-11-29 03:01:52 24 4
gpt4 key购买 nike

我正在为 iOS 上的 SQLite 调用 executeSql 语句。我正在使用成功 [和错误] 回调方法,以便我可以确认受影响的记录数。

当它返回时,它已经正确定义了 3 个变量,但是当我尝试对 rowsAffected 进行“if”检查时,它不起作用,因为它认为它是一个对象。

这是在 Angular 服务中...

这是我的代码:

    $DBService.ExecuteQuery(script, params,
function (insertId, rowsAffected, rows) {
window.logger.logIt("rowsAffected: " + rowsAffected.toString());

if (rowsAffected !== 1) {
deferred.reject("Failed to update record. Query did not return 1 record affected.");
} else {
deferred.resolve();
}
},
function (error) {
deferred.reject("Failed to update record. " + error.message);
}
);

当我进入调试器并将鼠标悬停在 rowsAffected 变量上时,它会将其显示为类的属性,其中显示:insertId、rowsAffected = 1 和 rows。这些是成功回调中的 3 个参数。为什么当我将鼠标悬停在 rowsAffected 上时它会显示所有 3 个?此外,当我写入控制台窗口 (window.logger.logIt()) 时,它会将其显示为 [object object]。同样,这告诉我它认为它是一个类,而不是类的属性(或者只是我类中的一个变量)。

谁能告诉我这是怎么回事?

最佳答案

正如文档明确指出的:

The executeSql() method invokes its callback with a SQLResultSet object as an argument.

因此传递给回调的参数是具有三个指定属性的对象。始终信任开发工具。

所以,它应该更像是:

$DBService.ExecuteQuery(script, params,
function (resultSetObj) {
...
if (resultSetObj.rowsAffected !== 1) {
...

关于javascript - 为什么 rowsAffected 不返回整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23200065/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com