我正在尝试awaitNode.js中的关键字.我有这个测试脚本:
"use strict";
function x() {
return new Promise(function(resolve, reject) {
setTimeout(function() {
resolve({a:42});
},100);
});
}
await x();
Run Code Online (Sandbox Code Playgroud)
但是当我在节点中运行它时,我得到了
await x();
^
SyntaxError: Unexpected identifier
Run Code Online (Sandbox Code Playgroud)
无论是使用Node.js 7.5还是Node.js 8(每晚构建)在我的Mac上使用node或运行node --harmony-async-awaitNode.js'repl'.
奇怪的是,相同的代码在Runkit JavaScript笔记本环境中工作:https://runkit.com/glynnbird/58a2eb23aad2bb0014ea614b
我究竟做错了什么?
我正在使用新的(从版本 18 开始)Node.js“fetch”API 来执行 HTTP 请求,例如
const response = await fetch(SOMEURL)
const json = await response.json()
Run Code Online (Sandbox Code Playgroud)
这可行,但我想“模拟”这些 HTTP 请求,以便我可以进行一些自动化测试并能够模拟一些 HTTP 响应以查看我的代码是否正常工作。
通常我会使用优秀的nock包和 Axios 来模拟 HTTP 请求,但它似乎不适用于fetchNode 18。
fetch那么在 Node.js 中使用时如何模拟 HTTP 请求和响应呢?