我知道它的语法及其工作原理,但我无法理解内部工作原理,为什么方法链接一次需要另一种方法,但其他时候不需要?
这段代码工作正常
const cart = await Carts.findById(cartId).populate('product');
Run Code Online (Sandbox Code Playgroud)
但这段代码并没有
let cart = await Carts.findById(cartId);
cart = await cart.populate('product');
Run Code Online (Sandbox Code Playgroud)
为了让它发挥作用,我们使用execPopulate这样的方法。
let cart = await Carts.findById(cartId);
cart = await cart.populate('product').execPopulate();
Run Code Online (Sandbox Code Playgroud)
现在,据我读过 javascript 中的方法链接,代码在没有该execPopulate方法的情况下也应该运行良好。但我似乎无法理解为什么 populate 不适用于现有的猫鼬对象。
我不得不在不同的行上打印在 shell 脚本中解析的所有参数。我写了一个脚本
for i in 1 2 3 4 5
do
echo $i
done
Run Code Online (Sandbox Code Playgroud)
但这打印
1
2
3
4
5
Run Code Online (Sandbox Code Playgroud)
即使我将参数解析为“10 20 30 40 50”
和互联网上的一个代码
for i
do
echo $i
done
Run Code Online (Sandbox Code Playgroud)
此代码正确打印参数。
有人可以解释一下为什么该代码有效但我的无效吗?
另外,我如何使用一个变量 ($i) 的值作为变量名来打印其他内容。喜欢
i=1
$($i)
Run Code Online (Sandbox Code Playgroud)
应该打印 $1 的值。