我寫了一個在 sqlite 中插入資料的承諾:
var promise_insertData=new Promise(function(resolve, reject){
db.transaction((tx) =>{
tx.executeSql('INSERT INTO chontact (recordID,user, phone) VALUES (?,?,?)',[recordID, name, number],
(tx, results) => {
var status=(results.rowsAffected > 0) ? true : false;
if(status)
resolve()
else
reject()
}
);
});
reject()
})
當我嘗試插入資料時出現錯誤
promise_insertData(db,recordid,name,phone).then(function(result){
Toast.show('ok...');
del_item();
}).catch(function(error){
Toast.show('error');
})
錯誤:
TypeError: (0, _$$_REQUIRE(_dependencyMap[12], "./JSfiles/functions").promise_insertData) is not a function. (In '(0, _$$_REQUIRE(_dependencyMap[12], "./JSfiles/functions").promise_insertData)(db, recordid, textinput, textinputphone)', '(0, _$$_REQUIRE(_dependencyMap[12], "./JSfiles/functions").promise_insertData)' is an instance of Promise)
uj5u.com熱心網友回復:
試試這個。你應該能夠promise_insertData(stuff).then(doSomethingElse) 我不確定reject()你的代碼中的最后一個,這可能是錯誤的。
const promise_insertData = (db, recordid, name, phone) => {
return new Promise(function(resolve, reject){
db.transaction((tx) =>{
tx.executeSql('INSERT INTO chontact (recordID,user,phone) VALUES (?,?,?)',[recordid, name, phone],
(tx, results) => {
var status=(results.rowsAffected > 0) ? true : false;
if(status)
resolve()
else
reject()
});
});
reject() // ??
})
};
uj5u.com熱心網友回復:
我將我的 Promise 包裝在一個函式中
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/434236.html
標籤:javascript 安卓 反应式 异步 承诺
