尝试调试Parse云函数中的一些奇怪行为。
我一直想知道是否希望调用期望response.success()或response.error()的云函数等到promises得到解决/错误。
以下是一个例子:
Parse.Cloud.define("my_cloud_function", function(request, response) {
myFunctionThatReturnsAPromise().then(function(msg) {
msg = typeof msg !== 'undefined' ? msg : "";
response.success(msg);
}, function(error) {
var message = typeof error.message !== 'undefined' ? error.message : "";
response.error(message);
});
});
这个云函数在myFunctionThatReturnsAPromise()实际返回其promise并执行其中一个块之前到达其执行结束。 除了超时之外,即使在完成执行后,my_cloud_function还是会使用响应对象可靠地设置调用的传递吗?
这看起来肯定是我观察到的,但我并不认为这种行为可以保证始终如一。
答案 0 :(得分:0)
似乎我的代码示例中使用的promises工作正常。 Parse等待,直到调用其中一个响应回调,即使它到达调用函数块的末尾,只要有未完成的回调或未解决的promise。