2016-11-03 15 views
0

ねえ、私はtypescriptでコールバック関数を作成する方法を知りたいと思います。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

Typescriptはjavascriptのスーパーセットなので、任意のjavascriptコードは有効なtypescriptコードです。

しかし、あなたは安全のための型を使用することができます。

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

関連する問題