問題タブ [npm-request]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
885 参照

node.js - リクエストを使用してリモートファイルの writeStream を作成するには?

npm-request に記載されているように、次のコードを使用してそれを達成しようとしていますが、

理解できないようですが、非同期が原因である可能性があります..同期方法はありますか?

0 投票する
1 に答える
807 参照

node.js - HTTP 要求への非同期パイピング ファイル

インターリーブされた GET および POST リクエストをサーバーに送信しようとしていますが、POST リクエストはファイルからデータを送信しているため、タイミングがずれているようです。

上記のコードは正常に実行され、GET 要求と POST 要求が交互に送信されますが、source.pipe(postReq)行のコメントを外すと、すべての GET 要求がすべての POST 要求の前に送信されます。

この問題の解決策はありますか? 私は使用できasync.mapLimitましたが、それはハックのように感じられ、解決策はリクエスト ライブラリを使用する必要があります。この印象は誤解に基づいている可能性があります。

0 投票する
2 に答える
109 参照

javascript - NPM リクエストがタイの URL から html を取得できません。(ウェブスクレイピング)

このコードはコンソールに html を表示せず、エラーを表示します

しかし、thai_url を มอเตอร์ไซค์ から %E0%B8%A1%E0%B8%AD%E0%B9%80%E0%B8%95%E0%B8%AD%E0%B8%A3%E0%B9%8C% に変更します。 E0%B9%84%E0%B8%8B%E0%B8%84%E0%B9%8C

このような

2番目のコードは正しく機能しています。มอเตอไซค์ を %E0%B8%A1%E0%B8...(more) に変更できますか? または、可能であれば、http://pantip.com/tag/Honda_(มอเตอร์ไซค์) npm request で作業するにはどうすればよいですか? 助けてくれてありがとう。

0 投票する
1 に答える
1533 参照

node.js - プロキシの背後にいるわけではありませんが、npm を使用してパッケージをインストールしているときにエラーが発生します

ここに npm-debug.log からの出力があります

  1. それがOKで終わる場合、それは働いた情報
  2. verbose cli [ 'D:\Softwares and Codes\NodeJS\NodeJS\\node.exe',
  3. verbose cli 'D:\Softwares and Codes\NodeJS\NodeJS\node_modules\npm\bin\npm-cli.js',
  4. 詳細 cli 'インストール',
  5. 詳細な cli 'gulp',
  6. 詳細な cli '--save' ]
  7. npm@2.11.3 を使用した情報
  8. node@v0.12.7 を使用した情報
  9. 詳細インストール C:\Users\Mayur\Desktop\Node\package.json の初期ロード
  10. warn package.json sampleapp@1.0.0 リポジトリ フィールドがありません。
  11. 警告 package.json sampleapp@1.0.0 README データなし
  12. 詳細な readDependencies は C:\Users\Mayur\Desktop\Node\package.json から依存関係を読み込みます
  13. 愚かなキャッシュ追加引数 [ 'gulp', null ]
  14. verbose cache add spec gulp
  15. 愚かなキャッシュは、解析された仕様を追加します { raw: 'gulp',
  16. 愚かなキャッシュ追加スコープ: null,
  17. 愚かなキャッシュに名前を追加: 'gulp',
  18. 愚かなキャッシュ追加 rawSpec: '',
  19. 愚かなキャッシュ追加仕様: '*',
  20. 愚かなキャッシュ追加タイプ: '範囲' }
  21. 愚かな addNamed gulp@*
  22. verbose addNamed "*" は gulp の有効な semver 範囲です
  23. 愚かな addNameRange { name: 'gulp', range: '*', hasData: false }
  24. 愚かな mapToRegistry 名 gulp
  25. デフォルトのレジストリを使用する愚かな mapToRegistry
  26. 愚かな mapToRegistry レジストリhttp://registry.npmjs.org/
  27. 愚かな mapToRegistry uri http://registry.npmjs.org/gulp
  28. 詳細な addNameRange レジストリ: http://registry.npmjs.org/gulp飛行中ではありません。フェッチ
  29. 詳細リクエストURI http://registry.npmjs.org/gulp
  30. 詳細なリクエスト認証は必要ありません
  31. info 試行 レジストリ リクエスト #1 を 8:00:49 PM に試行
  32. 詳細リクエスト ID 8da3a5a06ccf7a86
  33. http リクエスト GET http://registry.npmjs.org/gulp
  34. 情報再試行は再試行します。最後の試行でエラー: エラー: ETIMEDOUT を接続します
  35. info 試行 レジストリ要求 試行 #2 at 8:01:20 PM
  36. http リクエスト GET http://registry.npmjs.org/gulp
  37. 情報再試行は再試行します。最後の試行でエラー: エラー: ETIMEDOUT を接続します
  38. info 試行 レジストリ要求 試行 #3 at 8:02:41 PM
  39. http リクエスト GET http://registry.npmjs.org/gulp
  40. 詳細スタック エラー: ETIMEDOUT を接続します
  41. exports._errnoException での冗長スタック (util.js:746:11)
  42. TCPConnectWrap.afterConnect の詳細スタック [oncomplete として] (net.js:1010:19)
  43. verbose cwd C:\Users\Mayur\Desktop\Node
  44. エラー Windows_NT 6.1.7601
  45. error argv "D:\Softwares and Codes\NodeJS\NodeJS\\node.exe" "D:\Softwares and Codes\NodeJS\NodeJS\node_modules\npm\bin\npm-cli.js" "install" "gulp" " - 保存"
  46. エラーノード v0.12.7
  47. エラーnpm v2.11.3
  48. エラーコード ETIMEDOUT
  49. エラー errno ETIMEDOUT
  50. エラー syscall 接続
  51. エラー ネットワーク接続 ETIMEDOUT
  52. error network これはおそらく npm 自体の問題ではありません
  53. エラーネットワークであり、ネットワーク接続に関連しています。
  54. error network ほとんどの場合、プロキシの背後にいるか、ネットワーク設定が不適切です。
  55. エラーネットワーク
  56. エラー ネットワーク プロキシの背後にいる場合は、
  57. エラーネットワーク「プロキシ」構成が正しく設定されています。参照: 「npm ヘルプ構成」
  58. 詳細終了 [ 1, true ]

私はすでに試しました

  1. レジストリをhttp://registry.npmjs.org/に設定します
  2. 厳密な SSL を false に設定します
0 投票する
2 に答える
59 参照

javascript - promise を使用したノードの非同期 GET リクエストに関する問題

私はプログラミングが初めてで(3か月)、ノードが非同期関数を処理する方法に問題があります(と思います)。

外部 API からメニューの GET リクエストを作成し、merchant.data.menu オブジェクト (デフォルトでは null) を新しいメニューに設定してマーチャントを更新するメソッド「addMenu」を持つ Merchant クラス オブジェクトがあります。ちょうど得た。

問題のコード:

(this.data.menu) をログに記録すると、「{ state: 'pending' }」が表示されます。私は setTimeout を実行して物事を機能させることができますが、それは約束の目的全体を無効にしませんか? 私はこの一般的な問題に何日も悩まされてきました - それを解決するためにコールバック、遅延、約束などを掘り下げてきましたが、私の考えの中でもっと基本的な何かが欠けているのではないかと考えています.

ありがとうございました!

編集して追加:

結局のところ、私の問題の真の核心は、コールバック/プロミス内から this.data.menu にアクセスできないことであり、あらゆる種類の奇妙なことを行い、それらを this に戻そうとすることに気付きました。変数など

「var that = this;」を読んでください。クラススコープにアクセスするためのトリックで、コールバックとプロミスの試みがすべて正常に機能し、頭の中ではるかに理にかなっています。そして今では、副次的な利益として意図していた約束について、はるかに多くのことを知っています。助けてくれてありがとう!