Облачные функции и DeviceCheck, не получая ответ от Apple - PullRequest
0 голосов
/ 10 сентября 2018

Я тестирую DeviceCheck, но иногда у меня возникает проблема, когда я не получаю значения тела, ответа или ошибки от Apple. Я использую request для общения с ними. Я пытался использовать request-promise и переключился на api.devicecheck.apple вместо api.development.devicecheck.apple, но ни один из них не дал никакого эффекта. Я думаю, что это как-то связано с тем, насколько тесно в сети Wi-Fi, но если это так, то отстой, потому что мой Wi-Fi отличный, даже если он переполнен. Я предполагаю, что любой, использующий приложение, очень вероятно, имел бы ту же самую проблему. Могу ли я что-нибудь сделать, чтобы получить какой-либо ответ, даже если он задержан? Ниже приведены некоторые примеры:

Нормальные ответы

8:36:28.500 PM
check
IncomingMessage 

8:36:22.101 PM
check
Callback response

8:36:22.101 PM
check
{"bit0":true,"bit1":false,"last_update_time":"2018-09"}

8:36:21.901 PM
check
Callback body:

8:36:20.720 PM
check
Function execution took 14 ms, finished with status: 'ok'

8:36:20.713 PM
check
Function returned undefined, expected Promise or value

8:36:20.706 PM
check
Function execution started

Неполные ответы

4:37:55.435 PM
check
Function execution took 436 ms, finished with status: 'ok'

4:37:55.405 PM
check
Function returned undefined, expected Promise or value

4:37:55.001 PM
check
Function execution started

(«check» - это название облачной функции)

1 Ответ

0 голосов
/ 10 сентября 2018

К счастью, ответ был очень прост, и да, я не выполнил обещание должным образом. Для request-promise нужно просто добавить return перед вызовом.

Мой вар был:

var rp = require('request-promise');

Вместо этого:

rp(options, callback);

Мне нужно это:

return rp(options, callback);

Спасибо, ребята, за ваши ответы :)

...