我想寫一個Parse.com雲代碼函數來完成以下工作流程分支:解析雲代碼:邏輯在承諾
- 用戶提交的值。
- 雲代碼函數檢查該值是否與
code
類型的任何對象匹配。 - 如果不是,則該函數返回「not found」值。
- 如果是這樣,
code
類型的對象被假定爲具有指向item
類型對象的指針。 - 然後,檢查
code.item
以查看它是否具有指向alert
類型對象的指針。 - 如果不是,則該函數返回「not found」值。
- 如果
code.item.alert
確實存在,那麼我想獲取完整的alert
對象,包括可能存在或不存在的指針,最多2層深。
當我開始寫代碼這個功能,我可以得到它的工作,以檢查看code
是否存在的點,如果是這樣,code.item.alert
是否也存在。
這是問題出現的地方。就目前而言,在我的函數的工作版本中,返回的alert
項只是類類型和objectId。我明白爲什麼會發生這種情況,並且我正在嘗試編寫代碼來在返回對象之前填充對象,但是我沒有做到這一點。
下面是工作,到目前爲止(但只返回alert
對象的shell)代碼:
Parse.Cloud.define("alertLookup", function (request, response) {
Parse.Cloud.useMasterKey();
var codeQuery = new Parse.Query("code");
codeQuery.equalTo("value", request.params.code);
codeQuery.include("item");
codeQuery.find().then(function (codes) {
if (codes.length === 0) {
response.success("no item");
} else {
var code = codes[0];
var item = code.get("item");
var alert = item.get("alert");
if (alert === null || alert === undefined) {
response.success("no item");
} else {
response.success(alert);
}
}
}, function (error) {
response.error(error);
});
});
這是我已嘗試與141錯誤代碼失敗:
Parse.Cloud.define("alertLookup", function (request, response) {
Parse.Cloud.useMasterKey();
var codeQuery = new Parse.Query("code");
codeQuery.equalTo("value", request.params.code);
codeQuery.include("item");
codeQuery.find().then(function (codes) {
if (codes.length === 0) {
response.success("no item");
} else {
var code = codes[0];
var item = code.get("item");
var alert = item.get("alert");
if (alert === null || alert === undefined) {
response.success("no item");
} else {
return alert.fetch();
}
}
}).then(function (a) {
response.success(a);
}, function (error) {
response.error(error);
});
});
爲什麼fetch()
電話不能正常工作?當我插入console.log()
語句時,雖然alert
非空,但return alert.fetch();
似乎不會被調用。至少,response.success(a);
行永遠不會被調用。爲什麼不?
的就是你得到的141錯誤信息? –
「未定義」。而已。 – mbm29414