我不斷收到以下錯誤:
UnhandledPromiseRejectionWarning:未處理的承諾拒絕。這個錯誤要么是因為在沒有 catch 塊的情況下拋出了異步函式,要么是因為拒絕了一個沒有用 .catch() 處理過的承諾。要在未處理的承諾拒絕時終止節點行程,請使用 CLI 標志--unhandled-rejections=strict(請參閱https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode)。(拒絕編號:2)
在查找了一些解決方案之后,我所要做的就是將我的代碼放在 try catch 塊中,您可以在下面看到,但我仍然收到此錯誤,我做錯了什么?
我正在嘗試更新一列并將其中的任何陣列設定為空陣列。
Parse.Cloud.job("updateFollowedBy", async (request) => {
try {
var emptyArray = [];
let date = new Date();
let query = new Parse.Query("Categories");
const results = await query.find({useMasterKey:true});
results.forEach(object => {
if (object.get("followedBy")) {
object.set("followedBy", emptyArray);
}
});
Parse.Object.saveAll(results);
return ("Successfully updated column on " date);
}
catch(e) {
console.log(e);
}
});
uj5u.com熱心網友回復:
未處理的被拒絕的承諾可能來自該Parse.Object.saveAll()函式,因為您沒有等待它。嘗試:
Parse.Cloud.job("updateFollowedBy", async (request) => {
try {
var emptyArray = [];
let date = new Date();
let query = new Parse.Query("Categories");
const results = await query.find({useMasterKey:true});
results.forEach(object => {
if (object.get("followedBy")) {
object.set("followedBy", emptyArray);
}
});
await Parse.Object.saveAll(results);
// You might want to pass { useMasterKey: true } option to make it work without exception:
//await Parse.Object.saveAll(results, { useMasterKey: true });
return ("Successfully updated column on " date);
}
catch(e) {
console.log(e);
}
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/342533.html
標籤:javascript 节点.js 解析 承诺 解析平台
