typescriptでresolveを返す際の引数が多すぎるエラーについて
Q&A
Closed
解決したいこと
Promise
で返すresolve
やreject
でスプレッド構文を使って返したい
発生している問題・エラー
$ yarn webpack
ERROR in ./src/client.script.ts
[tsl] ERROR in ./src/client.script.ts(4,45)
TS2554: Expected 0-1 arguments, but got 2.
ERROR in ./src/client.script.ts
[tsl] ERROR in src/client.script.ts(5,44)
TS2554: Expected 0-1 arguments, but got 2.
client.script.ts
const googleRuns: any = async (func: string, ...args: any): Promise<any> =>
new Promise((resolve, reject) =>
google.script.run
.withSuccessHandler((...e) => resolve(...e))// resolve(...e)の...eでエラーが出ている
.withFailureHandler((...e) => reject(...e))[func](...args)// reject(...e)の...eでエラーが出ている
);
const foo = async (): Promise<any> =>
await googleRuns("hello", { res: 200 })
.then((res) => console.log(res))
.catch((err) => console.log(err));
window.addEventListener("DOMContentLoaded", foo);
細かいエラー内容について
VSCodeにてresolve
,reject
の引数のスプレッド構文のところで下記エラーが表示されました。
(parameter) e: [value: any, object?: any]
1 個の引数が必要ですが、2 個指定されました。ts(2554)
google.script
の型については下記からコピーして使っています。
https://gist.github.com/DominikPalo/bea3d958877566fe24ebe5ee1688d976
スプレッド構文で返すのは無理なのでしょうか?
それとも何かやり方があるのでしょうか。
使用しているバージョン
$ yarn webpack --version
yarn run v1.22.17
$ ./node_modules/.bin/webpack --version
webpack: 4.46.0
webpack-cli: 4.9.2
webpack-dev-server not installed
✨ Done in 0.57s.
0