[英]How can i apply an interface to an anonymous callback function in typescript
我有一個看起來像這樣的界面
interface CallBackHandler{
(err: Error, response: {statusCode: number, body: object}):void
}
我想將該接口應用於此回調
request({
url: url,
method: "GET",
withCredentials: false,
json: true,
headers: headers
}, (err, response) => {
this.handleResponse(err, response, resolve, reject);
});
但是我收到一個錯誤消息說,當我添加接口時,如果返回類型不為空,則函數必須返回某些內容
(err, response): CallBackHandler => {
this.handleResponse(err, response, resolve, reject);
}
應用此接口的正確方法是什么?
如果request()
已經具有類型簽名:
function request(options, callback: CallBackHandler) {
...
}
然后,您無需執行任何操作,因為您提供的回調將進行相應的類型檢查。
如果該功能還沒有這種類型的簽名,你想手動投你的回調CallBackHandler
,那么你將需要包裝的回調函數在括號中投表情,就像這樣:
request({
...etc
}, ((err, response) => {
this.handleResponse(err, response, resolve, reject);
}) as CallBackHandler);
你可以有類似的東西
request({
url: url,
method: "GET",
withCredentials: false,
json: true,
headers: headers
}, (err: Error, response: {statusCode: number, body: object}) => {
this.handleResponse(err, response, resolve, reject);
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.