我正在学习使用异步/等待,并且在尝试提出api请求来设置我的twilio设备时遇到问题。给定以下代码块,当我调用device()
时,收到以下错误消息:
Uncaught
TwilioException {message: "Capability token is not valid or missing."}
message
:
"Capability token is not valid or missing."
__proto__
:
Object
我认为这是由于device
函数中返回的json仍显示为未决。我该如何解决?我在做什么错?谢谢。
代码块:
import {Device} from 'twilio-client';
const api = async () => {
try {
const response = await fetch('/api/twilio');
const json = await response.json();
if (response.status === 403) {
twilioConnectionFailure('Twilio has not been purchased.');
}
return json;
} catch (error) {
console.log(`Connection failed: ${error.message}`);
throw Error(error.message);
}
};
const device = () => {
const json = api();
Device.setup(json.token);
return Device;
};
export default device;
答案 0 :(得分:2)
api
函数仍然是异步的,并返回一个诺言-您需要等待它:
export default async function device() {
const json = await api();
// ^^^^^
Device.setup(json.token);
return Device;
}