2016-11-03 4 views
0

привет, ребята, я хотел бы знать, как сделать функцию обратного вызова в машинописном тексте.typescript - создать функцию обратного вызова

Я знаю, как это сделать в ванильным JS:

function mySandwich(param1, param2, callback) { 
alert('Started eating my sandwich.\n\nIt has: ' + param1 + ', ' + param2); 
callback();} 

mySandwich('ham', 'cheese', function() { 
alert('Finished eating my sandwich.');}); 

Но я не могу найти способ сделать это с TS. У вас, ребята, есть пример?

спасибо!

+0

Я сделаю это точно так же, как (кстати, ES5 является подмножеством машинопись, так что все вы пишете в ES5 является действительный TypeScript). – martin

ответ

6

Typcript - это надмножество javascript, поэтому любой код javascript является допустимым кодом машинописного текста.

Но вы можете использовать типы для безопасности:

function mySandwich(param1: string, param2: string, callback:() => void) { 
    alert('Started eating my sandwich.\n\nIt has: ' + param1 + ', ' + param2); 
    callback(); 
} 

mySandwich('ham', 'cheese', function() { 
    alert('Finished eating my sandwich.'); 
}); 

mySandwich('ham'); // Error: Supplied parameters do not match any signature of call target 

mySandwich('ham', 'cheese', (num: number) => 4 * num); // Error: Argument of type '(num: number) => number' is not assignable to parameter of type '() => void' 

(code in playground)

Смежные вопросы